1、准备工作
(1)所需的16进制编辑工具
WinHex官网下载
(2)pyinstxtractor.py
GitHub项目下载
(3)安装uncompyle6
pip install uncompyle
(4)将要反编译的.exe文件和pyinstxtractor.py放入同一目录内。
2、反编译
(1)将.exe转换成.pyc文件
在该目录打开命令行窗口,执行命令
完成转换。python pyinstxtractor.py RS2IPParser.exe
命令格式:python pyinstxtractor.py 文件名.exe
生成名为RS2IPParser.exe_extracted的文件夹。此处RS2IPParser.exe为要反编译的文件。
(2)将主程序修复为.pyc文件
打开文件夹可以看到有很多文件,里面包含了RS2IPParser.exe的主程序parse,这就是我们要反编译的文件,其他的都是依赖库。由于pyinstxtractor.py的不足,主程序转换出来的格式不对,这时需要我们进行手动修复。
主程序(记得备份)
用之前准备的工具WinHex打开该目录的主程序文件和struct文件。此处我打开的是parse和struct。
两个文件进行对比,发现parse前面少了几个字节。
将缺少的部分从struct复制到parse,注意需要复制为十六进制数值。
粘贴到前面。
完成,按Ctrl+S进行保存。
将parse后缀改为.pyc。(改前备份)
(3)转换为.py文件
在该目录打开命令行窗口,执行命令uncompyle6 parse.pyc > parse.py将其转换成.py文件。
最后得到的源码文件,打开查看就好了。
近期评论