Reverse 一款逆向工程工具
2019-07-30 11:28:23 Author: mp.weixin.qq.com(查看原文) 阅读量:46 收藏

Reverse是一个用来解析二进制文件的逆向工程工具,而且它可以生成更具可读性的代码(类C语言)并带有彩色标识的语法,便于研究人员进行阅读代码。目前,其交互模式仍在做进一步开发。

使用环境要求
1、python 版本需要在 3.4及以上版本;
2、具备capstone反汇编框架,其能提供丰富的反汇编指令;
3、具备python-pyelftools模块,用于解析ELF文件(ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等)以及DWARF调试信息,详细请点击链接:pyelftools;
4、具备python-pefile模块,以用于解析PE文件(如exe、dll、vxd、sys和vdm等),详细请点击链接:PEfile;
5、具备python-msgpack模块,用于序列化运算,详细请点击链接:msgpack;
6、具备256色终端;

可以通过运行requirements.sh检测是否符合所有的要求

反编译功能
因为二进制文件中包含了符号型的main,所以其中的-x main是可选的。具体使用如下,
$ ./reverse.py tests/server.bin

交互模式
在此模式下有更多的命令可以使用(da,db等),当然我们也可以通过help查看更多的命令。

TODO列表
1、添加命令:setbe/setle rawbase(用于原文件格式);
2、如果从shell获取的文件为raw文件,则进行加载。
视觉模式

在交互模式中,我们可以通过使用命令 v 来切换到视觉模式。但该模式需要ncurses动态库的支持。
1、代码/功能的定义
2、内联注释
3、外部参照

TODO列表
1、当分析器修改代码时,自动进行重载;
2、多行注释;
3、创建数据/数组;
4、符号重命名;
5、堆栈变量;
6、结构、枚举;
7、提高分析器的性能。

分析shellcode
其中对于每一个Int 0×80,该工具都会尝试通过参数检测syscall函数
$ ./reverse.py --raw x86 tests/shellcode.bin

文章来源及下载:

https://github.com/plasma-disass ... b/master/reverse.py

你可能喜欢

逆向工程师手中的利器-Sublime Text中的模糊匹配

安卓源码逆向


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650456204&idx=4&sn=659d1e77b53e889f8e3a0fd62684cacd&chksm=83bba568b4cc2c7e45a32909b871f324e86d058fbdf7f7c2a7e3ed611fcf31da04f50c0218ba#rd
如有侵权请联系:admin#unsafe.sh