reko – 通用反编译工具
Reko是一个C#项目,包含机器码二进制文件的反编译器。该项目可在GNU通用公共许可证下免费获得。该项目包括前端,核心反编译器引擎和后端,以帮助它实现其目标。在撰写本文时,存在命令行,Windows GUI和ASP.NET前端。反编译器引擎以单个可执行文件或反编译器项目文件的形式从前端接收输入。Reko项目文件包含有关二进制文件的其他信息,有助于反编译过程或格式化输出。然后,反编译器引擎继续分析输入二进制文件。
Reko的目标是支持各种处理器体系结构和可执行文件格式的反编译,许多软件许可证禁止对其机器代码二进制文件进行反编译或其他逆向工程。仅当您具有反编译二进制文件的合法权限时才使用此反编译器。
工具下载和安装
运行下列命令下载Reko:
$ git clone git://github.com/uxmal/reko.git
Windows用户
在Windows平台上,首先需要安装下列依赖组件:
NETFramework 4.7.2下载好MSI文件之后,直接运行安装程序即可。
非Windows用户
如果你使用的不是Windows系统,那么你首先得安装下列依赖组件:Monov5.14.0
安装好mono之后,你就可以直接从整合构建服务器下载源代码,或直接构建Reko源码来使用工具了。工具下载好并完成环境配置之后,你就可以使用一款IDE或命令行来构建Reko-decompiler.sln文件了。如果你习惯使用IDE,推荐你Visual Studio 2017或MonoDevelop v5.10及以上版本。如果你习惯使用命令行,你可以使用下列命令:
msbuild Reko-decompiler.sln
工具使用
在Windows上,安装完成后会在开始菜单里创建一个“Reko Decompiler”快捷方式,你可以直接点击图标启动Reko客户端。在非Windows系统上,你需要使用下列命令运行WindowsDecompiler.exe:mono WindowsDecompiler.exe
运行命令行客户端
在Windows上,假设你已经把Reko的安装目录写到了PATH环境变量里,那你就可以直接在命令行中输入下列命令来使用工具了:decompile some_binary_file.exe
在非Windows平台上,假设你已经把Reko的安装目录写到了PATH环境变量里,那你就可以直接在命令行中输入下列命令来使用工具了:mono decompile some_binary_file.exe
参考来源及下载地址:
https://github.com/uxmal/reko