exe可执行文件反编译成py文件
记录一下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进制数据的位置,祝大家都能一次成功!!!
exe可执行文件反编译成py文件的更多相关文章
- 晓莲说-何不原创:如何通过jad把class批量反编译成java文件
背景:前几天在项目开发的时候遇到一个问题,那就是利用myeclipse编写好的一个项目打包成jar包后上传部署到服务器里,之后本地的项目被自己改来改去出现了一些问题,想着把上传到服务器里面的war包下 ...
- jar包/class文件如何快速反编译成java文件
有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ...
- 01使用ILDasm.exe将可执行文件反编译成IL代码
控制台代码 using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args ...
- C#.NET常见问题(FAQ)-如何将cs文件编译成dll文件 exe文件 如何调用dll文件
比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装 ...
- C#.NET如何将cs文件编译成dll文件 exe文件 如何调用dll文件
比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装 ...
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...
- 将 Python 打包的 exe 进行反编译
Python 打包成 exe 之后,是否能从二进制文件中恢复出源代码?没有加密的话是可以的. 首先需要解包. 直接从 github 上下载就行:https://github.com/counterce ...
- Android反编译获取资源文件-android学习之旅(69)
有时候你看到一些很好看的布局,会考虑别人怎么实现的,回想参考一下,那么这时候反编译一下是很必要的. 要用到的工具apktool.bat和aapt.exe和apktool.jar(要最新版本) 下载前两 ...
- Android反编译(二)之反编译XML资源文件
Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具 apktool http ...
- 转载文章----初识Ildasm.exe——IL反编译的实用工具
转载地址http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662307.html Ildasm.exe 概要:(路径:C:\Program ...
随机推荐
- typescript - 学习档案
由于内容繁多,使用掘金来记录此笔记,方便索引跟随!未完待续~~~ 地址如下: https://juejin.cn/post/6899350420541014030/#heading-20
- Educational Codeforces Round 137 (Rated for Div. 2) - D. Problem with Random Tests
期望 + 暴力 [Problem - D - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 给出一个长度为 \(n\;(1 ...
- 只会Jquery,后端程序员如何学会前端(webpack,react,babel,es5,es6)
写在前 希望通过短暂的学习,可以达到一下目标: 1.能看懂现在前端的工程化手段 2.知道当前前端群体中大致的解决问题的思路 3.当前的问题在哪里,技术发展趋势是什么 4.建立起自己的认知模型 文章内容 ...
- GitLab服务器修改用户密码
重置密码: 1.切换到相应路径 cd /opt/gitlab/bin/2.进入控制台 gitlab-rails console3.根据序号查询用户账号信息并赋值给u u=User.find(2) [注 ...
- IO 多路复用 select/poll/epoll ---> Reactor ---> Netty
什么是内核态和用户态 https://blog.csdn.net/qq_41709234/article/details/124320482 参考:https://www.cnblogs.com/lo ...
- SSM整合【狂神说】
1.环境要求 IDEA MySQL 5.7 Tomcat 9 Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,Java Web及Mybatis知识,简单的前端知识. 2.数据库 ...
- Aspose.Cells 拒绝访问、数据库 64 bit mode with the 32 bit Oracle、视图加载格式不正确。
第一次遇到发布程序后,引发的这么多奇葩问题.记录一下. 配置:windows server 2018 R2 企业版 sp1 这是一台闲置4年机子,拿到机子里面已经安装过oracle客户端,我直接卸载装 ...
- Software_programming_automation_selenium
10:52:37 Table 获取 tr list 注意会无法正常遍历获取. 修正后正常 1 public SelectionCriteriaPage checkSpecifyTag(int coun ...
- spark2.0.1源码编译
一.编译源码步骤演示详解 . 编译spark环境要求 1.必须在linux系统下编译(以centos6.4为例) 2.编译使用的JDK版本必须是1.6以上(以JDK1.8为例) 3.编译需要使用Mav ...
- PID名词解析
在工程实际中,应用最为广泛的调节器控制规律为比例.积分.微分控制,简称PID控制,又称PID调节. 当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控 ...