服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

RetDec:一款功能强大的基于LLVM的可重定目标机器代码反编译器

日期: 来源:FreeBuf收集编辑:Alpha_h4ck


 关于RetDec 


RetDec是一款功能强大的基于LLVM的可重定目标机器代码反编译器,该工具支持的反编译器不限于任何特定的目标体系结构、操作系统或可执行文件格式。


当前版本的RetDec支持下列文件格式:

ELF

PE

Mach-O

COFF

AR(文档)

Intel HEX

原始机器代码


当前版本的RetDec支持下列体系结构:

32位:Intel x86、ARM、MIPS、PIC32和PowerPC

64位:x86-64,ARM64(AArch64)


 功能介绍 


1、提供带有详细信息的可执行文件静态分析数据;

2、编译器和封装器检测;

3、加载和指令解码;

4、基于签名的静态链接库代码移除;

5、提取和利用调试信息(DWARF、PDB);

6、指令语法重构;

7、C++类层次结构(RTTI、vtables)的检测和重构;

8、从C++二进制文件(GCC、MSVC、Borland)中分离符号;

9、函数、类型和高级构造器重构;

10、整合反汇编工具;

11、以两种高级语言输出:C和类似Python的语言;

12、生成调用图、控制流图和各种统计信息;


 工具安装 


广大研究人员可以访问该项目的【Releases页面】下载预编译的RetDec稳定版。


当前版本的RetDec支持Windows 7+、Linux、macOS和FreeBSD操作系统,请预留大约5-6GB的磁盘空间。


 工具使用 


Windows


1、安装Microsoft Visual C++ Redistributable for Visual Studio 2017;

2、安装UPX和Graphviz;

3、如需反编译名为text.exe的代码文件,可以运行下列命令:

$RETDEC_INSTALL_DIR\bin\retdec-decompiler.exe test.exe

(向右滑动,查看更多)

Linux


1、安装UPX和Graphviz;

2、如需反编译名为text.exe的代码文件,可以运行下列命令:

$RETDEC_INSTALL_DIR/bin/retdec-decompiler test.exe

(向右滑动,查看更多)


 使用RetDec代码库 


我们还可以直接在自己项目(需要使用CMake构建)中使用RetDec库。RetDec安装时包含了所有需要的头文件、代码库和CMake脚本。


接下来,就可以通过下列方式来使用其组件了:

find_package(retdec 5.0 REQUIRED   COMPONENTS      <component>      [...])target_link_libraries(your-project   PUBLIC      retdec::<component>      [...])


 Docker中构建RetDec 


构建镜像


在Docker中构建RetDec不需要在本地安装所需的依赖库,直接运行下列命令即可构建RetDec镜像:

docker build -t retdec - < Dockerfile

上述命令将从代码库的主分支构建镜像。


除此之外,我们也可以使用本地代码库拷贝来构建镜像,即使用开发版本的Dockerfile.dev:

git clone https://github.com/avast/retdec.gitdocker build -t retdec:dev . -f Dockerfile.dev

(向右滑动,查看更多)


容器运行


如果你的uid不是1000,请确保RetDec能够访问目录中包含的输入代码文件:

chmod 0777 /path/to/local/directory


接下来,你就可以在容器中运行反编译器了:

docker run --rm -v /path/to/local/directory:/destination retdec retdec-decompiler /destination/binary

(向右滑动,查看更多)


 许可证协议 


本项目的开发与发布遵循MIT和Zlib开源许可证协议。


 项目地址 


RetDec

https://github.com/avast/retdec


参考资料:

https://retdec.com/static/publications/retdec-slides-botconf-2017.pdf

https://www.youtube.com/watch?v=HHFvtt5b6yY

https://retdec.com/static/publications/retdec-slides-recon-2018.pdf

https://retdec.com/publications/

精彩推荐







相关阅读

  • 你敢想吗?可以利用ChatGPT这么做科研

  • 这位研究僧,GPT-4都发布了,你还在纯人工搞科研吗?已经有人实测:ChatGPT科研全流程都能用,尤其是对于英语非母语的科研人员,可以极大地提高日常科研工作效率。连写给导师的请假信,都
  • 动嘴就能编程,基于 GPT-4 的 Copilot X 来了!

  • ↓推荐关注↓转自:量子位 | 公众号 QbitAI用自然语言进行编程的时代真的要来了——GitHub CEO托马斯·多姆克在官方博客上宣布:代码辅助工具Copilot进行重大升级,接入GPT-4,更名
  • 有的AI打工人,年薪百万

  • AI让人失业也给人工作。作者 I 陈桥辉来源 I Tech星球(ID:tech618)当下最火的科技热点当属这轮刮起来的AI热。AI爆火涌现出诸如ChatGPT、AI绘画、AIGC创作,以及大模型等新兴话题

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 再见!知名黑客论坛BreachForums宣布关闭

  • 当地时间3月21日,知名地下黑客论坛BreachForums的现任管理员Baphomet发布了称之为”最终版“的论坛更新,并宣称该论坛将正式关闭。根据Baphomet发布的消息,他认为随着前任站长
  • 渗透测试年度报告:IT预算应关注整个安全堆栈

  • 渗透测试是一种模拟的安全攻击,本质上是企业针对自己的系统进行的一种攻击演习,以检查可利用的漏洞。渗透测试主要针对应用程序编程接口、服务器和任何泄露的入口点,以实现web
  • 三千万条数据,娱乐巨头泄露用户信息

  • 根据Cybernews的研究,娱乐业巨头Lionsgate公司泄露了用户的IP地址和他们在其电影流媒体平台上观看的内容的信息。在调查过程中,研究人员发现,视频流平台Lionsgate Play通过一个
  • 922天 商业重构 背后的机会

  • 看过的书,投资记录,内部交流圈的内容,赚钱项目的灵感,一些奇技淫巧...具体的内容计划是:1. 每日随笔;2. 好东西分享,某神器软件、网站、小技巧...3. 投资记录;4. 阅读摘录。第一项:随