Reko是一款开源的功能强大的通用代码反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。
Reko包含核心反编译引擎和后端代码分析模块,还提供了用户友好的操作界面。在编写本文时,存在命令行、Windows GUI和ASP.NET前端。反编译器引擎从前端接收以单个可执行文件或反编译器项目文件形式的输入。Reko项目文件包含有关二进制文件的附加信息,有助于反编译过程或格式化输出。然后,反编译器引擎继续分析输入二进制文件。
Reko的目标是以最少的用户干预支持各种处理器架构和可执行文件格式的反编译。只有当您拥有反编译二进制文件的合法权利时(例如,如果二进制文件是您自己的),才能使用此反编译器。

说明
下载好MSI文件之后,直接运行安装程序即可
在Windows上,假设你已经把Reko的安装目录写到了PATH环境变量里,那你就可以直接在命令行中输入下列命令来使用工具了:
decompile some_binary_file.exe
更新日志
早该发布的消息终于出现了。这些变化主要是对反编译器输出和反编译器代码库本身的增量改进。一些亮点是:
重新构造ILoader/Loader接口和类。
介绍了抽象二值图像的IBinaryImage接口。其目的是在Reko命令行客户端中添加一个dump子命令,以方便浏览二进制文件。
添加了对WASM 3.0指令的支持。
增加了对MN103、M16C、Telink TC32和Angstrem KR1878 CPU架构的支持
增加了对大多数C-Sky浮点指令的支持。
增加了对CP/M LBR档案的支持
正确执行CP/M BDOS调度程序的处理。
所有Z80指令现在都有重写器。
支持VAX Unix系统调用
修复了6502模拟器中的许多错误
添加了从Win16Platform调用MS-DOS和DPMI INT服务的支持
为所有主要的RISC架构添加了对长期持续融合的支持。(加载高/加载低)指令对的拆卸现在更容易阅读。
改进了对返回标志位的过程的处理
添加了对C/C++头文件中[[reko::segment]]属性的支持
添加了对VAX a.out对象文件的支持
在WildPatternMatcher中实现缺失逻辑+重新启用单元测试
重构数据流分析类作为IAnalysis<>接口的实现*将核心分析类重构为Reko。核心,以便在不向Reko添加依赖关系的情况下实现特定于架构的分析。分解器组件。
反编译过程参数根据ABI进行排序。如果特定平台上有许多ABI可用,Reko还会尝试检测使用哪个ABI来编译过程。
VLIW指令的更好排序(详见Hexagon实现)
|