AI+逆向python 3.9+程序

使用pyinstxtractor.py将程序转换成pyc文件

  1. 下载 pyinstxtractor.py:extremecoders-re/pyinstxtractor: PyInstaller Extractor
  2. 将代码和程序放在同一目录
  3. 生成pyc文件:python pyinstxtractor.py 软件名

使用 pycdc 工具反编译 pyc 文件,获得源码

  1. 下载并编译pycdc:zrax/pycdc: C++ python bytecode disassembler and decompiler
    1. 在Windows下使用visual studio+cmake编译(不推荐,反编译代码补全)
    2. 在linux下直接使用cmake编译
    3. 在Windows的wsl环境下使用cmake编译(推荐,安装少,反编译代码全)
  2. 将生成的程序拷贝到pyc文件目录
  3. 反编译pyc文件:pycdc -o py文件名 pyc文件名
  4. 如此能获得源码那就最好,就不用往下看了,但高版本python可能会存在问题,例如
    1. Unsupported opcode: JUMP_BACKWARD
    2. # WARNING: Decompyle incomplete
  5. 如果出现错误,可以继续往下看,也许会有帮助

使用 pycdas 工具反编译 pyc 文件,获得汇编代码

  1. 编译pycdc还会生成pycdas,将这个程序也拷贝到pyc文件目录
  2. 反编译pyc文件成汇编代码:pycdas -o py文件名 pyc文件名

使用 AI 工具反编译汇编代码,获得源码

  1. 将pycdas反编译的汇编代码拷贝到ai对话中,我用的是deepseek,并让其“修复代码”,即可获得源码
  2. 代码编译及修复:生成的代码多少还是有点语法问题,但问题不大,很好修复,基本编译一下就出来了,这就需要手动修改一下
  3. 源码还会提供注释,虽然不是开发者提供的注释

参考:

  1. Decompile Python 3.11 EXE files using pyxtractor and AI (chatgpt blackboxai)! NEW METHOD 2023/2024 - YouTube
作者:widrin原文地址:https://www.cnblogs.com/HuangWj/p/18718924

%s 个评论

要回复文章请先登录注册