Pyinstaller Repack 指南

admin 2025年4月22日23:54:24评论1 views字数 1425阅读4分45秒阅读模式
作者坛账号:hitachimako

Pyinstaller Repack 指南

大一牲,想要Patch一个抢学校图书馆座位的软件,却困于Pyinstaller程序的重打包,以此为契机研究了一下Repack的完整流程,避免接触难懂难修改的字节码,并使用了一个几乎无人知晓的工具pyinstaller-repacker(截至这篇文章完稿,仅有4个star)

0. 目标

本指南将用这个简单的例子教你如何:

  • 导出程序中所有的pyc文件
  • 反编译并阅读程序源码
  • 直接对源码进行修改,并Repack一个修改版

1. 准备工具

  • 查看源程序Python版本的工具:https://github.com/extremecoders-re/pyinstxtractor
  • Repack工具:https://github.com/pyinstxtractor/pyinstaller-repacker
  • 在线反编译器:https://pylingual.io/
  • 一个任意版本的 Python环境 https://python.org/

2. 解包源程序

  1. 查看源程序打包使用的Python版本:Pyinstaller Repack 指南

    如图得知源程序打包使用的Python版本为3.8,所以我们要安装一个3.8版本的Python环境(此处不作管理多Python版本的教程,请自行管理环境),并在对应的Python版本中安装所需的依赖: pip install lxml lief
  2. 使用对应版本的Python环境运行pyinstaller-repacker脚本,解包源程序: python .pyinst-repacker.py extract [源程序名]Pyinstaller Repack 指南

    运行至[+] Done!时,即为完成解包

3. 反编译源码

  1. 进入目录[源程序名]-repacker/FILES,在此处即可找到程序的入口点pyc,将其拖入PyLingual反编译器进行反编译:Pyinstaller Repack 指南如图,发现入口点启动了igotolib_editable包含的App窗口,接着分析该文件
  2. 进入目录[源程序名]-repacker/FILES/PYZ-00.pyz,找到其中的igotolib_editable.pyc,拖入反编译器:Pyinstaller Repack 指南找到购买检测逻辑

4. 修改与重新打包

  1. 点击反编译器右上角的蓝色下载按钮,即可将源码下载至本地。
  2. 完全删除status检测逻辑,并加上一些Cracked信息:Pyinstaller Repack 指南 ]
  3. 使用对应版本的Python环境将修改后的源码编译为pyc文件:python -m py_compile [源码]Pyinstaller Repack 指南如图,将会生成一个__pycache__文件夹,内含的文件即为修改后的pyc文件
  4. 将修改后的pyc文件重命名为被替换的pyc文件名称,替换原pyc文件后,重新打包为exepython .pyinst-repacker.py build .[源程序名]-repackerPyinstaller Repack 指南等待一段时间后运行至[+] Done!时,即为完成打包,在目录[源程序名]-repacker中即可找到Repack后的程序。

5. 大功告成

测试程序,运行正常:Pyinstaller Repack 指南

6. 说明

  • 使用到的两个工具pyinstxtractorpyinstaller-repacker已上传至附件
  • 即使使用的Python版本不对应,pyinstaller-repacker也能够从pyz中解压出文件,但是会导致无法反编译,所以请务必使用与源程序相同的Python版本!!
  • 经测试,PyLingual能够正确反编译3.13及以下所有版本的pyc

原文始发于微信公众号(吾爱破解论坛):Pyinstaller Repack 指南

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月22日23:54:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Pyinstaller Repack 指南https://cn-sec.com/archives/3986421.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息