IDA Pro
IDA Pro(Interactive Disassembler Professional)交互式反汇编器专业版,CTF、RE、PWN必备。
打开一个可执行文件前,应先用file命令或者DIE等工具,确定是32位还是64位,然后用相应的IDA工具打开可执行文件。
IDA界面默认有菜单栏、工具栏、导航带、函数窗口、IDA-View反汇编窗口、Hex-View十六进制显示、Import、Export窗口等部分。点击菜单Windows-Reset/Save/Load Desktop来重置、保存、加载IDA窗口布局,或者菜单View打开被关闭的窗口。
IDA-View反汇编视图
有文本视图(推荐)和图形视图两种,按空格键切换。文本视图有跳转逻辑关系。
中文字符串不显示
如果反汇编的shift+F12字符串不显示中文,那么Options-General-Strings,修改 Default 8bit 的编码选项改为 gb2312 即可。
OllyDBG
OD是一种动态汇编调试工具。这里只讲一般用法,见下表。
搜索ASCII
拖入程序后,找目标字符串。在汇编指令的空白处右键-中文搜索引擎-搜索ASCII。搜索ASCII找到目标字符串,双击跳转到有该字符串的汇编指令地址。
编辑立即数
在有该字符串的汇编指令地址上右键-数据窗口中跟随-立即数,跳转到数据窗口中。数据窗口中选中要修改的字符串,按空格弹出窗口编辑数据。
重置调试
程序运行结束,状态为“已终止”,可以点击重置键,重新开始调试。
断点
按F2或者在汇编指令的地址处双击,可以下断点,断点处地址为红色背景色。
pyinstxtractor+uncompyle6
截止2023.06.22最新版本的uncompyle6支持python 3.11.x版本,uncompyle6 和 xdis都推荐编译安装,安装后即可使用。
git clone git@github.com:rocky/python-uncompyle6.git
cd python-uncompyle6
sudo python setup.py install
git clone git@github.com:rocky/python-xdis.git
cd python-xdis
sudo python setup.py install
jadx