- 授权协议: BSD
- 开发语言: C/C++
- 操作系统: 跨平台
- 软件首页: https://github.com/trailofbits/mcsema
软件介绍
MC-Semantics (或者 mcsema, 发音 'em see se ma') 是一个用来将机器码翻译成 LLVM IR 的库,包括如下几个子项目:
Control Flow Recovery
Instruction Semantics
Binary File Parsing
Semantics Testing
示例:
C:\dev\llvm-new\mc-sema\tests>demo2 Could Not Find C:\dev\llvm-new\mc-sema\tests\demo_test2.cfg getFunc: Starting at 0x1 1: movl %eax, %ecx 3: xorl %eax, %eax 5: incl %eax 6: xorl %ebx, %ebx 8: cmpl %ecx, %ebx a: je 5 c: addl %eax, %eax e: incl %ebx f: jmp -9 8: cmpl %ecx, %ebx a: je 5 11: ret getFunc: Function recovery complete for func at 1 Adding entry point: demo2_entry demo_driver2.c 0x100
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!
