推荐一款采用 .NET 编写的 反编译到源码工具 Reko

推荐,一款,采用,net,编写,反编译,源码,工具,reko · 浏览次数 : 2521

小编点评

**Reko开源反编译工具** **介绍** Reko 是一个开源反编译工具,采用 C# 开发,可用于对机器码进行反编译处理。 **特性** * NativeAOT 支持:利用 NativeAOT 编译的 .NET 程序无法通过 ILSpy 之类的传统工具得到源代码。 * 用户友好界面:提供 Windows GUI 和 ASP.NET 后端。 * 代码文件信息:包含代码文件的额外信息,方便反编译操作。 * 最小化交互:提供快捷方式启动 Reko客户端,方便用户启动反编译。 * 可自定义注释:允许用户添加注释或提供友好名称。 * 支持多种平台:提供 Windows GUI 和 ASP.NET 后端。 **使用方法** 1. 下载并安装 Reko 项目。 2. 打开 GUI 客户端。 3. 选择要反编译的二进制文件。 4. 点击 “打开”。 5. 在左侧的项目概览中,查看分析结果。 6. 可自定义注释或提供友好名称。 **许可证** Reko 项目受一些软件许可证的限制,禁止他人对机器码进行反编译或逆向分析。 **结论** Reko 是一个强大的开源反编译工具,可帮助用户在最小化操作交互的情况下,完成对多种处理器架构和可执行文件格式的反编译处理。

正文

今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET 7 有了NativeAOT 的支持,采用NativeAOT 编译的.NET程序 无法通过ILSpy 之类的传统工具得到源码,这款Reko 可能是唯一一款可以把NativeAOT 编译的程序真正得到源码的,当然你得首先会编程才行。编译本质上是一个有损过程。 将高级源代码程序转换为低级机器代码可执行二进制文件时,诸如复杂数据类型和注释之类的信息会丢失。 有用的反编译通常需要用户的帮助。 用户可以提供被编译器丢弃的类型信息,并为过程添加注释或给出友好名称。

Reko不仅包含核心反编译引擎和后端代码分析模块,而且还提供了用户友好的操作界面。目前,该工具提供了Windows GUI和ASP.NET后端。反编译引擎需要从前端获取用户的输入,可接受的输入为单独的可执行文件或反编译项目文件。Reko项目文件中还包含了代码文件的额外信息,来为研究人员的反编译操作或格式化输出提供帮助。在整个过程中,负责分析输入代码的主要是反编译引擎。

image

Reko的目标就是帮助用户在最小化操作交互的情况下,帮助用户完成对多种处理器架构和可执行文件格式的反编译处理。需要注意的是,很多软件许可证会禁止他人对该软件的机器码进行反编译或逆向分析,所以希望大家不要将本工具用于恶意目的。

项目地址:https://github.com/uxmal/reko 

工具下载和安装:https://github.com/uxmal/reko/releases/tag/version-0.11.1

.NET 6 是跨平台的,可以在你需要安装的操作系统上安装 .NET 6.0:https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 ,如果需要开发Reko,并使用VS 2022,则必须安装VS的C#组件,如果在Mac,Linux平台上推荐使用Rider 。

在windows 下载好MSI文件之后,直接运行安装程序即可。安装完成后会在开始菜单里创建一个“Reko Decompiler”快捷方式,你可以直接点击图标启动Reko客户端。

打开GUI客户端后,你可以参考GUI.md文档开始工作。

Reko开始于一个空项目。二进制文件的分析从将它添加到项目中(使用菜单栏命令File > Open) 开始。Reko会尝试确定这个文件是什么二进制文件格式。常见的格式,比如MS-DOS或EXE会被自动加载;它们的内部结构会被从头到尾地分析加载(will be traversed),加载结果会在左侧的项目概览中中展现出来。

想了解Reko的各种特性,你可以读 user’s guide.md | github。如果你对项目的内部工作原理感兴趣,请看 reko wiki

与推荐一款采用 .NET 编写的 反编译到源码工具 Reko相似的内容:

推荐一款采用 .NET 编写的 反编译到源码工具 Reko

今天给大家介绍的是一款名叫Reko的开源反编译工具,该工具采用C#开发,广大研究人员可利用Reko来对机器码进行反编译处理。我们知道.NET 7 有了NativeAOT 的支持,采用NativeAOT 编译的.NET程序 无法通过ILSpy 之类的传统工具得到源码,这款Reko 可能是唯一一款可以把

介绍一款免费的文件内容搜索工具

概述 推荐myso的子功能全文搜索工具,这款工具是效率工具myso的子功能,跟myso一样是免费软件,支持office;文本;pdf等文件格式内容搜索。搜索方式是遍历打开文件读取内容进行匹配,因此搜索速度不是非常快,搜索速度在可接受范围,但考虑到文件内容搜索不是高频使用功能,故而采用这种搜索方式(实

21.3K star!推荐一款可视化自动化测试/爬虫/数据采集神器!功能免费且强大!

大家好,我是狂师! 在大数据时代,信息的获取与分析变得尤为重要。对于开发者、数据分析师乃至非技术人员来说,能够高效地采集网络数据并进行分析是一个强有力的工具。今天,我要向大家推荐的是一款功能强大、操作简单且完全免费的数据采集工具——EasySpider。 一个可视化浏览器自动化测试/数据采集/爬虫软

C# 发送邮件功能

以前官方自带一个smpt类可以发送邮件,现在好像弃用了。虽然仍然可以使用,但总归不如先学一下新的方法。遂采用了微软官方推荐的一个第三方库:MailKit 还需引入另一个MimeKit库,用于创建消息。 我的发送邮件是扩展功能,所以是静态方法,所需的参数我将通过参数传递。遂定义一个email的实体类、

ColorEasyDuino上手指南

介绍 ColorEasyDuino是嘉立创推出的一块Aduino开发板(类似物),具有丰富的外设接口:uart、i2c、spi、adc、pwm等;开发板设计参考原型是Arduino Uno,采用的芯片是ATMEGA328P,它的外观设计比较紧凑,把所有的IO都引出供开发者使用,可玩性、可拓展性都特别

#PowerBi Superchange PowerBi 序言部分笔记(2)

Xmind本文思维导图 序言部分,主要讲述了BI的分类及发展,以及作者推荐的学习方法。重点是介绍了powerbi的主要四大步骤。 即: 一:数据采集 Data acquisition: Power BI has a powerful data acquisition engine that help

Flash驱动控制--芯片擦除(SPI协议)

摘要: 本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作。 关键词:SPI;Verilog HDL;Flash 【SPI协议通信模式】 SPI是Motorola公司推出的一种

#Powerquery 数据结构基础 一维数据与二维数据

本文参考了采悟老师的文章,推荐大家看原文,本文为笔记随笔 https://mp.weixin.qq.com/s?__biz=MzA4MzQwMjY4MA==&mid=2484068871&idx=1&sn=4ab596602ed0a4c851755673d8fcf37a&chksm=8e0c48d0

逐句回答,流式返回,ChatGPT采用的Server-sent events后端实时推送协议Python3.10实现,基于Tornado6.1

善于观察的朋友一定会敏锐地发现ChatGPT网页端是逐句给出问题答案的,同样,ChatGPT后台Api接口请求中,如果将Stream参数设置为True后,Api接口也可以实现和ChatGPT网页端一样的流式返回,进而更快地给到前端用户反馈,同时也可以缓解连接超时的问题。 Server-sent ev

FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流

​RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。RTMP Streamer支持的视频编码包括H264、H265、AV1等等,支持的音频编码包括AAC、G711、OPUS等等,可谓功能强大