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

    文章

    6892

    浏览量

    88828
  • 编译
    +关注

    关注

    0

    文章

    654

    浏览量

    32809
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84455

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    labview打包exe调用子VI问题

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

    如何将LMH34400评估模块设置电流输入模式?

    LMH34400 评估模块手册里注明默认电压输入模式,如何设置电流输入模式没有说明,烦请说明下如何将LMH34400 评估模块设置电流输入模式,谢谢。
    发表于 08-01 07:35

    ubuntu下(python ver 2.7.6)运行python demo_server.py无反应怎么解决?

    python ver 2.7.6)运行python demo_server.py无反应 请问该如何正确运行此脚本?
    发表于 07-22 08:20

    编译ESP-AT工程,运行python build.py install命令提示符遇到的疑问求解

    :Espressiftoolsidf-python3.8.7python.exe: can't open file 'build.py': [Errno 2] No such file or directory 请问这个是啥意思呢,怎么解决
    发表于 06-27 06:05

    版本从v3.3更新至v4.2版本,idf.py无法使用怎么解决?

    看了官方的说明文档,v4.2采用Python3,所以Python改为了python3.6,从github上下载了zip包,解压到~/esp目录下,分别完成了install.sh和ex
    发表于 06-24 06:30

    在VSCode软件上运行idf.py -p COM3 flash出现报错是怎么回事?

    SERIAL_TOOL=\"E:/esp/.espressif/python_env/idf4.3_py3.8_env/Scripts/python.exe E:/esp/esp_idf/components
    发表于 06-20 08:32

    运行idf.py -p COM4 flash monitor出错是什么原因导致的?

    /python.exe E:/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32c3 failed FAILED: CMakeFiles
    发表于 06-20 07:35

    ESP32-S3 DevKitC-1连接到电脑并执行到idf.py -p com3 flash monitor程序时报错怎么解决?

    _env/idf4.3_py3.8_env/Scripts/python.exe C:/esp/esp-idf/components/esptool_py/esptool/esptool.py
    发表于 06-19 07:18

    深入理解 Sora 的技术原理

    将去除噪音的结果数据,利用视频解码器进行解码,低维潜在空间数据还原成原始视频数据,这里可以实现不同分辨率的视频解码。
    的头像 发表于 04-05 09:19 1903次阅读
    深入理解 Sora 的技术原理

    TC275 GTM如何将TIM配置读取引脚电平状态模式?

    如何将TIM配置读取引脚电平状态模式
    发表于 02-19 06:32

    在hightec中如何将源代封装,并编译链接.a的库函数?

    在hightec中如何将源代封装,并编译链接.a的库函数
    发表于 02-18 08:10

    请问如何将M482的X32_IN X32_OUT设定GPIO_OUTPUT?

    请问如何将M482的X32_IN X32_OUT设定GPIO_OUTPUT?
    发表于 01-16 06:40

    labview生成exe报表不能用

    的计算机上运行。然而,在LabVIEW程序生成exe,有用户反映说报表不能使用的问题。 首先,需要了解LabVIEW中生成exe的过程。当我们使用LabVIEW开发一个程序
    的头像 发表于 01-04 15:59 2056次阅读