记录一下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)得到一个文件夹

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. Sublime、Webstorm等在APICloud平台上全面支持WiFi真机同步和实时预览功能
  2. [课程设计]Scrum 3.4 多鱼点餐系统开发进度(下单详细信息页面&会员信息页面)
  3. PhpStorm 配置Xdebug
  4. Dom选择器及操作文本内容
  5. sap mm_1
  6. RDD缓存策略
  7. office 2003和office 2013同时安装使用的问题
  8. SGU 275 To xor or not to xor (高斯消元)
  9. Base64 报错 的解决办法 (Base-64 字符数组或字符串的长度无效。, 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。)
  10. [Unity] How to stop camera rendering?
  11. dumpbin
  12. 对Numpy广播操作的理解
  13. objective-c中的method swizz实现"猴打补丁"
  14. jmeter用Windows电脑分布式部署
  15. Mysql 创建用户并授权
  16. vue处理用户输入
  17. Flask web开发之路十三
  18. 关于android im
  19. python实战——网络爬虫之request
  20. spark集群搭建(java)未完待续

热门文章

  1. js-解决安卓手机软键盘弹出后,固定定位布局被顶上移问题
  2. plesk 关闭维护模式
  3. vue 2 中防抖节流在当前页面里写
  4. fabric学习笔记7
  5. Android图表控件MPAndroidChart——BarChart实现多列柱状图和LineChart多曲线 (完结)
  6. HTML中添加点击链接 进行Skype对话的问题
  7. 苹果App 上架 app store 提示 “一张或多张屏幕快照的尺寸存在错误“
  8. linux查看java堆栈信息_linux进程堆栈大小
  9. 容器 之搭建 jenkins ci 平台
  10. 实验一-密码引擎-加密API实现与测试