V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hx1997
V2EX  ›  分享创造

Kaleidoscope: C 写的简单 x86-32 反汇编器

  •  
  •   hx1997 ·
    hx1997 · 2019-02-15 15:11:39 +08:00 · 1824 次点击
    这是一个创建于 2100 天前的主题,其中的信息可能已经有所发展或是发生改变。
    源码: https://github.com/hx1997/Kaleidoscope
    二进制(仅 exe ): https://github.com/hx1997/Kaleidoscope/releases

    写来玩的,很简陋,只支持常见的 x86-32 指令,后几代的扩展指令和 x87 浮点数指令都不支持。0x67 前缀( 16 位寻址模式)也不支持。只用 Windows 10 + MinGW64 编译过,其他环境不知道行不行。

    PE 文件默认从入口点开始反汇编,ELF 或其他可执行文件需要手动指定起始地址。写得很垃圾,大佬轻喷。

    编写过程中参考了以下项目(但没有使用其任何代码):
    https://github.com/vmt/udis86
    https://github.com/btbd/disassembler

    截图(上 Kaleidoscope,下 objdump ):
    5 条回复    2019-02-22 02:09:24 +08:00
    smartdone
        1
    smartdone  
       2019-02-19 17:20:20 +08:00
    厉害厉害,我一般直接拖到 ida
    hx1997
        2
    hx1997  
    OP
       2019-02-19 17:26:49 +08:00 via iPhone
    @smartdone 哈哈哈我也是,写来并没有什么卵用
    smartdone
        3
    smartdone  
       2019-02-19 17:32:40 +08:00
    @hx1997 友情 star,哈哈哈
    hx1997
        4
    hx1997  
    OP
       2019-02-19 23:05:38 +08:00 via Android
    @smartdone 555 谢谢大佬
    codehz
        5
    codehz  
       2019-02-22 02:09:24 +08:00 via Android
    看到 x86-32,我还以为说的是那个 x32 abi 呢。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2872 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 03:43 · PVG 11:43 · LAX 19:43 · JFK 22:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.