McSema将机器码翻译成 LLVM IR

联合创作 · 2023-10-02 01:24

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
浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报