exe可执行文件反编译成py文件

exe可执行文件反编译成py文件记录一下exe文件反编译的问题准备工作1.安装第三方包uncompyle6(pipinstalluncompyle6==3.7.4)2.下载pyinstxtractor.py文件3.exe可执行文件4.16进制编辑器具体步骤1.先进入安装uncompyle6包的虚拟环

大家好,欢迎来到IT知识分享网。

记录一下exe文件反编译的问题

 

准备工作

1. 安装第三方包 uncompyle6 (pip install uncompyle6==3.7.4)

2. 下载pyinstxtractor.py文件

3. exe可执行文件

4. 16进制编辑器

 

具体步骤

1. 先进入安装uncompyle6包的虚拟环境

(windows): d:\Virtualenv\scr\Scripts\activate  直接输入虚拟环境的activate路径就可以

(liunx或mac_os): source 虚拟环境名/bin/activate   退出虚拟环境:deactivate  (exe只能在windows执行,这里只是记录下命令)

 

2. 获取可执行文件的资源,命令:python pyinstxtractor.py “notepad++.exe” (可执行文件名.exe)得到一个文件夹

exe可执行文件反编译成py文件

 

 3. 把文件夹内的可执行文件添加.pyc后缀名, 并查看一下他和struct的区别

exe可执行文件反编译成py文件

 

exe可执行文件反编译成py文件

 

4. 百度上查询到的是把struct中前8位放到可执行文件中, 测试之后发现报错

exe可执行文件反编译成py文件 

 

5. 对比两个文件的差异,notepad++.pyc中是以“E3”开头的, struct中第二行是“E3”开头的,我们把struct中第一行都填充到notepad++.pyc中

exe可执行文件反编译成py文件

 

6. 执行命令,uncompyle6 notepad++.pyc > notepad++.py  可执行py文件生成成功

exe可执行文件反编译成py文件

 

7. 我们只是把可执行文件反编译成功了, 我们还会有一些依赖包(自己开发的可执行文件的依赖模块)。

(1)首先我们先去步骤2找到依赖包文件里面对应的自己开发的依赖包

(2)把这个依赖包的pyc文件放到16进制编辑器中

(3)和步骤3中的struct文件进行对比,发现“E3”是从13位开始的,我们把这个“E3”挤到第二行

(4)复制struct的第一行的 0C—0F数据, 填充到这个依赖包的.pyc的对应位置上

exe可执行文件反编译成py文件

 

exe可执行文件反编译成py文件

 

8. 执行命令,uncompyle6 CommonLib.pyc > CommonLib.py  依赖包py文件生成成功

exe可执行文件反编译成py文件

 

9. 一定要注意,16进制编辑器(本次用的wxMEdit)一定要选好,复制之后,一定对比好各个16进制数据的位置,祝大家都能一次成功!!!

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31067.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信