【笔记】reko 0.10.2 反编译工具安装和使用记录|(1) README.md
(翻译自README.md,并通过自己的实际操作情况重新整理了一遍)
笔者注:我已经成功地根据README.md下载了Release版本,也自己试了下从源码编译,跟着README都挺顺利的。如果操作过程中遇到问题,请留言。
Reko 简介
Reko (瑞典语: “适当的, 乐于助人的”) 是一个二进制文件的反编译器。
该项目可在GNU通用公共许可证下免费获得.
该项目具有图形界面,也可以直接通过命令行使用。前端使用ASP.NET。
Reko项目文件包含有关二进制文件的其他信息,这些信息有助于反编译过程或者格式化输出。
![]() ARM 二进制可执行文件的 Map view |
![]() ARM 二进制可执行文件的 Decompiled view |
Reko追求的目标是在最小的用户干预下、对于各种各样的处理器结构和可执行文件格式都支持反编译。完整的支持列表请见网址Reko 支持的处理器和可执行文件格式 。
请注意,很多的软件证书禁止对它们的机器码二进制文件进行反编译器或者其他逆向工程。你只有拥有了合法的反编译权限才能使用这个反编译器(例如如果这个二进制文件是你自己的)。
1. 下载 Reko
官方的 Releases 每隔几个月就会在 Github 和 SourceForge上发布。
不想或无法自己生成Reko的用户,可以从Cirrus CI integration builder 或者 Github Actions integration builder下载二进制文件。
笔者下载的链接:windows_x64 0.10.2。
当然,你想自己构建生成也是可以的,详见下文的Hacking部分。
2. 安装 Reko
安装Reko之前,必须先装NET 5.0:
如果需要开发Reko,并使用VS2019,则必须安装VS的C#组件。
3. 相关文档
想了解Reko的各种特性,你可以读 user’s guide.md | github。如果你对项目的内部工作原理感兴趣,请看 reko wiki。
笔者注:国内镜像 user’s guide_(hub.fastgit.org),wiki (hub.fastgit.org)。
为方便打开,之后的github内的链接一律直接使用镜像hub.fastgit,org,不做说明。
4. 获得帮助
你可以在 issue tracker | github 上报告你遇到的任何问题或者询问与Reko相关的任何问题。
你也可以试试 Reko 聊天室 Gitter.im。Reko 是靠志愿者在闲暇时自发构建的,所以有时候不会回复得特别及时。
笔者注:志愿者们回复得超级快。点赞!
5. 自己编译生成 Reko
想要构建生成reko,首先要clone源代码:git clone https://hub.fastgit.org/uxmal/reko.git。你可以用一个IDE或者命令行去构建解决方案文件Reko-decompiler.sln。Reko的构建生成需要.NET 5.0和C# 9。如果你是一个IDE使用者,请用Visual Studio 2019的最新版。
①如果你想用命令行构建它,用下列命令(如果你下载了 msbuild的话):
msbuild -p:Configuration={config} -p:Platform={platform} -v:m -m Reko-decompiler.sln
注:将
{config}替换为Debug或者Release, 将{platform}替换为x64或者x86.
注:命令行编译方式容易出问题。不推荐。
笔者注:
- 这里的命令行指的是VS中的
工具-命令行。- 注意不要删掉克隆的文件夹下的.git文件夹,否则可能出现MSB3073错误(如下图)。
②如果你不打算用命令行编译:双击src文件夹下的Reko-decompiler.sln工程文件,打开后,编译选项选择Release和x64(或其他),右键解决方案,选择重新生成解决方案,即可编译。
不能直接点击运行,否则会出现下图所示的错误:
Note: 如果你仍然不能编译,请告诉我们,我们会帮助你解决问题。如果你对贡献代码有兴趣,可以看看我们的开发路线图road map,看看可供探索的领域。我们的 Wiki 中有更多关于Reko内部工作原理的信息。请查阅 style guide。
5.1 与 WiX 相关的 Warnings 或 Errors
如果你没有在你的开发机器上下载WiX工具集的话,你在VS中加载解决方案的时候将会收到warnings 或者 errors。如下图所示。

这个WiX工具集仅仅在你制造MSI安装包的时候被用到,如果你已经能够编译这个项目,你可以忽略这些错误——因为构建生成的过程会将所有必需的文件都复制到一个独立的目录下。
如果你真的想要用WiX工具链构建生成一个MSI安装器,你可以在这下载WiX工具:http://wixtoolset.org/releases/。
5.2 与 VS 中的 CMake 相关的 Errors(这一节直接跳过吧我也没太明白说的啥)
你做了些什么之后,VS可能会重新构建生成依赖CMake的NativeProxy。你可以下载 CMake 并确保它被添加到你的环境变量PATH中,或者在VS中禁用这个工作(指重新生成NativeProxy)。
在VS中下好CMake已经足够去在Developer Command Prompt(笔者注:这是VS中的命令行工具)中运行msbuild了,但是可能还是无法在VS中成功地构建生成,除非你把CMake添加到你的环境变量PATH中。在VS外面下载CMake,可以让你在安装的时候将它添加到环境变量中。
5.3 编译后怎么打开 Reko ?
编译之后,src下的 Drivers文件夹包含了以用户界面为启动方式的可执行文件; WindowsDecompiler 文件夹包含了为 Windows用户提供的GUI客户端;CmdLine 文件夹下包含了一个命令行驱动程序。
点击Drivers文件夹,进入如下图的目录即可。

6. 版本说明
请在NEWS.md查看。
笔者注:下一篇看user’s guide。
【笔记】reko 0.10.2 反编译工具安装和使用记录|(1) README.md的更多相关文章
- Myecplise反编译工具安装
我使用的是Myecplise8.5 下载jad.exe文件jad158g.win.zip:http://varaneckas.com/jad/ 下载jadeclipse插件 net.sf.jadcli ...
- ubuntux下apk反编译工具安装
1,下载dex2jar工具.(http://download.csdn.net/detail/u013647453/8286693) 2,下载jd-gui工具(http://jd.benow.ca/) ...
- .NET反编译工具 .net Reflector_8.3.0.95 下载激活
在网上找了很久,很多地方都没有注册机,终于机缘巧合下找到了这个有注册机的反编译工具,放于百度网盘,供大家下载 里面有包含如何破解,不过此处也多做一次解释: 注:1.记得断开网络 2.至于杀毒软件,我没 ...
- .net混淆、反编译工具调查
常用的工具列表[比较常见的] 混淆器.加密 Dotfuscator VS默认带的工具,不过是个社区版 强度不大 dotNET Reactor 使用了NativeCode 和混淆的形式 Xenocode ...
- 转--Android资源总结(环境搭建/ 反编译工具)
在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一次大整合,希望对和我一样是Android的初学者管用,如在文章中有所错误,敬 ...
- 反编译工具 使用.NET JustDecompile来反编译你的程序代码
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...
- Java反编译工具Jad及插件JadClipse配置教程
Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...
- Atitit.java 反编译 工具 attilax 总结
Atitit.java 反编译 工具 attilax 总结 1. 三大核心核心引擎——1 2. JAD Jad attitude推荐这个1 2.1. Jdec.2 2.2. 二. 源码开放的 J ...
- java反编译工具jad
下好以后解压就可以用了,软件就只有一个exe文件和一个帮助文件.在众多的JAVA反编译工具中,有几种非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:FrontEnd Plus.mDeJav ...
- Myeclipse 反编译工具插件
JadClipse是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到myeclipse下的插件,叫JadClipse,安装好之后,只要双击.class文 ...
随机推荐
- JavaDoc文档的介绍及生成方法
javaDoc命令是用来生成自己的API文档的 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @return 返回值情况 ...
- Docker 持续集成部署+ELK日志相关等 完美实践
docker(ubuntu) 卸载docker # 卸载(如有) for pkg in docker.io docker-doc docker-compose docker-compose-v2 po ...
- 机器学习中的 K-均值聚类算法及其优缺点
K-均值聚类算法是一种经典的机器学习算法,用于将数据集分成 K 个不同的簇.它是一种无监督学习算法,即不需要标签或任何先验知识来指导聚类过程. 算法的工作原理如下: 随机选择 K 个数据点作为初始聚类 ...
- Springboot - [05] 彩蛋~
题记部分 彩蛋一:如何更换Springboot启动时的logo (1)访问 https://www.bootschool.net/ascii-art/search,搜索到佛祖的ASCII艺术字(图)集 ...
- 7. Nginx 工作机制&参数设置(详细讲解说明)
7. Nginx 工作机制&参数设置(详细讲解说明) @ 目录 7. Nginx 工作机制&参数设置(详细讲解说明) 1. Nginx 当中的 master-worker 机制原理 2 ...
- 数据库离程序员有多远 - cnblogs救园行动感想
这两周,我参与了博客园的"2024救园行动",成了终身会员.说实话,当初报名的时候,我心里还挺兴奋的,想着这下能和不少老朋友在这个社区里再次相聚.毕竟,在数据库行业摸爬滚打了这么多 ...
- 使用PySide6/PyQt6实现Python跨平台通用列表页面的基类设计
我在随笔<使用PySide6/PyQt6实现Python跨平台GUI框架的开发>中介绍过PySide6/PyQt6 框架架构的整体设计,本篇随笔继续深入探讨框架的设计开发工作,主要针对通用 ...
- composer 2 升级操作
update composer composer self-update // or sudo composer self-update 回滚到版本1 composer self-update --r ...
- glib-2.60在win64,msys2下编译
前阵子,工作原因,需要在win7 64下的msys2来编译glib,下面是一些踩过的坑: 事先声明一下,这些个解决方式及纯粹是为了编译通过,可能有些做法不太适合一些需要正常使用的场合,烦请各位注意下. ...
- mac 源码编译安装php8.3.9
前提条件 确保你已经安装了 Homebrew 和 Xcode Command Line Tools.你可以通过以下命令安装它们: /bin/zsh -c "$(curl -fsSL http ...


