0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将python打包后的exe还原成py

马哥Linux运维 ? 来源:苦海飘摇 ? 作者:苦海飘摇 ? 2021-10-26 09:56 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

用到的工具

pyinstxtractor.py 拆包(解压)工具,将exe文件解压成一个文件夹

uncompyle6 pyc反编译工具

010EditorEditor 或者其他二进制查看与修改工具,我这里用的010Editor

安装方法

pip install uncompyle6

第一步:解包

python3 pyinstxtractor.py ***.exe # 这里替换成你要反编译的exe文件# 会生成一个以 exe文件名+_extracted 的文件夹,这个就是解包后的数据

d17f7a28-357f-11ec-82a8-dac502259ad0.png

第二步:添加头信息

PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。前四个字节为python编译的版本,后四个字节为时间戳。想要获得编译版本可以查看打包文件里struct的信息

1)。 进入文件夹,找到以exe文件名命名的文件(没有后缀),这个就是目的文件

2)。 用 010Editor 打开 struct,前八位就是我们想要的信息,将其复制

3)。 用 010Editor 打开目的文件我这里是 abc_text,将上一步复制的信息插入到开头

修改前:

d3339cb4-357f-11ec-82a8-dac502259ad0.png

修改后:

d407a96e-357f-11ec-82a8-dac502259ad0.png

4)。 将目的文件我这里是 abc_text,添加pyc的后缀

第三步:逆向 目的文件.pyc

1)。 其实这里已经可以使用了。了解python的都知道pyc是py文件编译后的二进制文件,因此如果想要分析源码还得继续逆向成.py文件

2)。 uncompyle6逆向pyc文件

uncompyle6 abc_text.pyc 》 abc_text.py

d70682a2-357f-11ec-82a8-dac502259ad0.png

原文来自:https://www.jianshu.com/p/5871c3dd633b

(版权归原作者所有,侵删)

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7261

    浏览量

    92246
  • 编译
    +关注

    关注

    0

    文章

    680

    浏览量

    34229
  • python
    +关注

    关注

    56

    文章

    4831

    浏览量

    87422

原文标题:将python打包后的exe还原成py

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于LABVIEW 生成EXE 动态调用外部VI的问题

    EXE调用既不可以, 因为我调用的VI是不确定的所以不能打包进项目里面 是单独的。 有没有大佬知道方法啊重金感谢! 我按照网上办法尝试去修改配置文件 也不行 *附件:DLL生成和导入.zip
    发表于 07-30 14:22

    linux虚拟环境中调用Linux 版matlab编译的python库时出错

    /wjn/CAO_python python setup.py install --force 完成上述安装步骤,在虚拟环境中执行(wjn_cao) user@ubuntu:/dat
    发表于 07-18 10:40

    技术分享 | 迅为RK3568开发板如何将 Linux 板卡虚拟U盘

    技术分享 | 迅为RK3568开发板如何将 Linux 板卡虚拟U盘
    的头像 发表于 06-04 10:57 ?548次阅读
    技术分享 | 迅为RK3568开发板<b class='flag-5'>如何将</b> Linux 板卡虚拟<b class='flag-5'>成</b>U盘

    如何将Keras H5模型转换为中间表示 (IR) 格式?

    (model,\'model\') 第 2 步: 保存的模式格式转换为中间表示形式 目录更改 为 /deployment_tools/model_optimizer 运行 mo_tf.py
    发表于 03-07 06:11

    使用Yolo-v3-TF运行OpenVINO?对象检测Python演示时的结果不准确的原因?

    通过模型下载器下载了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通过模型 优化器转换模型: python3 ./model_optimizer
    发表于 03-06 06:31

    如何将python文件导入到ROS系统中

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入到 ROS 系统中。
    的头像 发表于 02-11 11:08 ?850次阅读
    <b class='flag-5'>如何将</b><b class='flag-5'>python</b>文件导入到ROS系统中

    请问ccs4.2如何将采集到的数据导出dat文件?

    ccs4.2如何将采集到的数据导出dat文件
    发表于 01-14 08:08

    当matlabappdesigner打包exe文件,如何调用外部的函数.m程序?

    当matlabappdesigner打包exe文件,如何调用外部的函数.m程序?我尝试了很多办法,包括 addpath,filread,eval等,都不可行,谁能帮帮我!
    发表于 12-29 18:50

    hdmi是什么电平?hdmi信号里有几对差分还有几个单端的,差分的信号是不是cml电平?

    出来的cml信号在还原成hdmi信号,接到显示器上。现在有几个问题: 1,hdmi是什么电平?第一次接触,hdmi信号里有几对差分还有几个单端的,差分的信号是不是cml电平? 2,如果差分的是cml电平
    发表于 12-24 06:34

    请问如何将脑电数据经过数据转换器输出?

    PC机,向USB口输出,并经过DA转换器还原成模拟信号,并让模拟信号与外接线圈转接,使之产生脑电场,逆向研究原始脑电信号对人脑的影响,但是问题是:这个由电脑输出的数字信号如何才能转换成模拟信号并
    发表于 12-17 07:02

    用ADS8866采集方波并用DAC8551还原出来,发现有200us左右的台阶,为什么?

    如图,黄色是原始的输入进ADC的波形,蓝色是DAC输出的波形,DAC单独测试过是可以输出1.6kHz的方波的;本次测试方法是ADC采集到的电压通过mcu算出电压再发给DAC,让DAC还原成原波形,但发现有200us左右的台阶,不知道什么原因
    发表于 11-26 08:19

    labview打包生成的exe安装,不能TCP通信?

    同一台电脑,没有打包的时候是可以TCP通信的,但是打包就不行了,已经管理员打开了
    发表于 10-25 13:00

    labview程序生成exe文件怎么还原

    在LabVIEW中,程序生成exe文件,通常这个过程是不可逆的,即exe文件无法直接“还原”回原始的LabVIEW项目文件(.vi或.lvproj)。
    的头像 发表于 09-04 17:12 ?3448次阅读

    labview 打包exe调用子VI报错

    写的labview代码打包exe程序的时候运行报错1003,代码如附件所示。麻烦大佬们给看看*附件:Code.zip
    发表于 08-09 10:29

    labview打包exe调用子VI问题

    项目结构问题 当我通过打开VI引用调用子VI的时候,子VI报错1003,VI引用函数如下图所示** 子VI如图所示注: 该方式在开发环境中正常,但是打包exe之后就报错1003
    发表于 08-07 18:37