对用pyinstaller打包的exe程序进行反编译,获得源码
参考文章:
1、https://www.cnblogs.com/DirWang/p/12018949.html#PyInstallerExtractor
2、https://msd.misuland.com/pd/2884250137616455620
3、https://www.perfcode.com/p/720.html
4、https://blog.csdn.net/ZhaDeNianQu/article/details/87717293

1. 研究对象
1.1. 使用pyinstaller打包成的exe文件
1.2. 由pyinstxtractor反编得到的代码
1.3. 添加pyc头后源文件的pyc文件
1.4. 由uncompyle反编译成的py文件
2. 工具准备
2.1. 软件
2.1.1. 010editor
2.1.1.1. 安装包
2.2. Py程序
2.2.1. pyinstxtractor
2.2.2. uncompyle6
2.2.3. pyhotn的函数,pip install uncompyle6
3. 具体方法
3.1. 将pyinstxtractor.py文件和exe程序放在同一文件夹下
3.2. 命令行进入上述文件目录,执行命令python pyinstxtractor.py ***.exe,的到***.exe_extracted文件夹
3.3. 找到没有后缀的文件,即编写的主程序,通常会有一个.mainfest和它名字相同,用010editor打开,按下键盘insert键选择插入模式
3.4. 找到base_library.zip文件,解压,用010editor打开,比较它和上面主程序文件的区别,把首位多的pyc文件头直接复制出来,添加到主程序的开头,将主程序另存为***.pyc文件
3.5. 命令行进入刚刚产生的pyc文件目录,执行命令uncompyle ***.pyc > output.py
3.6. 至此,output.py就是我们要找的源程序,其中的中文由于编码成unicode,需要再进行解码
对用pyinstaller打包的exe程序进行反编译,获得源码的更多相关文章
- 检测微信小程序是否被反编译获取源码
众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可 ...
- vue项目打包后使用reverse-sourcemap反编译到源码(详解版)
首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false. 当productionSourceMap: true,时: 1.打包后能看到xxx ...
- 用pyinstaller打包一个exe程序
打包单个exe文件 -F 选项可以打出一个exe文件,默认是 -D,意思是打成一个文件夹. pyinstaller -F TestDataGen.py 打出的桌面程序去掉命令行黑框 -w 选项可以打桌 ...
- 反编译pyinstaller打包的exe安装包
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译 在这里分享一些技巧和经验给大家.辛苦撰文分享,转载或引用请保留本文作者信息及文章链接. 作者的环境: win ...
- 最干净的pyinstaller打包成exe应用程序方法
在anaconda环境下进行pyinstaller打包后,程序非常大,70行代码打包后有280MB,这是因为会将conda环境携带的库都打包进去导致的.为了获得更纯净的包环境,我们需要安装纯pytho ...
- python爬虫程序打包为exe程序并在控制台下运行
上一篇文章实现了爬取任意两个用户共同想读的图书的python程序.现在此程序打包为exe程序. 使用pyinstaller实现此功能.在pyinstaller官网下载http://www.pyinst ...
- pyinstaller 打包生成exe之后运行提示‘no module name 'xxx'’错误
python 3.7 pyinstaller 3.4 具体情况: pycharm中点击运行可成功执行,生成正确结果,没有报错. 双击run.py(程序运行的主文件),运行,可生成正确结果,没有报错. ...
- 如何将python3.6软件的py文件打包成exe程序
在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序.在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行 ...
- 用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件
本文为原创文章,转载请标明出处 一.you-get介绍 you-get是一个基于 python 3 的下载工具,使用 you-get 可以很轻松的下载到网络上的视频.图片及音乐.目前支持网易云音乐.A ...
随机推荐
- 在Python里,用股票案例讲描述性统计分析方法(内容来自我的书)
描述性统计是数学统计分析里的一种方法,通过这种统计方法,能分析出数据整体状况以及数据间的关联.在这部分里,将用股票数据为样本,以matplotlib类为可视化工具,讲述描述性统计里常用指标的计算方法和 ...
- JavaScript string repeat methods All In One
JavaScript string repeat methods All In One There are many ways in the ES-Next ways repeat ES2015 / ...
- SEO & JSON-LD & structured-data
SEO & JSON-LD & structured-data script type="application/ld+json" script type=&quo ...
- how to read the 10th line of a text using shell script
how to read the 10th line of a text using shell script shell script / bash script question https://l ...
- MDN & JavaScript 文档翻译状态
MDN & JavaScript 文档翻译状态 https://developer.mozilla.org/zh-CN/docs/MDN/Doc_status/JavaScript refs ...
- ESLint & jsx-quotes & quotes
ESLint & jsx-quotes & quotes bug { "jsx-quotes": [ "error", "prefer ...
- scrimba & interactive free online tutorials
scrimba & interactive free online tutorials https://github.com/scrimba/community/blob/master/FAQ ...
- NGK:APP一站式挖矿高收益项目
NGK是10月中旬刚上线的公链项目,采用手机挖矿形式.NGK数字增益平台,200美金即可入场,收益可观,分为静态和动态两种,投资算力收益超高.邀请好友挖矿还有额外的返佣. NGK立志为所有人创造无差别 ...
- 详解支付体系颠覆者NGK公链:如何通过呼叫河马智能合约加速转账?
纵观全球加密货币市场,至今为止,全球已经发行的加密货币以及数字代币的数量已经超过了7000种,且未来还将会有更多的加密货币或数字代币出现.在众多加密货币项目中,投资者很难在众多的项目里甄别项目的好坏以 ...
- Nice!JavaScript基础语法知识都在这儿了
好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star 转载请注明出处! 链接:https://blog.csdn ...