使用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. 代码编译及修复:生成的代码多少还是有点语法问题,但问题不大,很好修复,基本编译一下就出来了,这就需要手动修改一下

参考:

  1. Decompile Python 3.11 EXE files using pyxtractor and AI (chatgpt blackboxai)! NEW METHOD 2023/2024 - YouTube

AI+逆向python 3.9+程序的更多相关文章

  1. 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流

    最初的步骤 Python是大小写敏感的 任何在#符号右面的内容都是注释 >>> help('print')在“print”上使用引号,那样Python就可以理解我是希望获取关于“pr ...

  2. 一个python爬虫小程序

    起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...

  3. python实现FTP程序

    python实现FTP程序 程序源码 上传功能 查看文件 cd功能 创建目录 程序源码 目录结构 服务端 主程序 import optparse import socketserver import ...

  4. python 购物车小程序

    python 购物车小程序 功能要求:1.启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4. ...

  5. 用python进行桌面程序开发

    Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所 ...

  6. 快速掌握用python写并行程序

    目录 一.大数据时代的现状 二.面对挑战的方法 2.1 并行计算 2.2 改用GPU处理计算密集型程序 3.3 分布式计算 三.用python写并行程序 3.1 进程与线程 3.2 全局解释器锁GIL ...

  7. hadoop学习笔记——用python写wordcount程序

    尝试着用3台虚拟机搭建了伪分布式系统,完整的搭建步骤等熟悉了整个分布式框架之后再写,今天写一下用python写wordcount程序(MapReduce任务)的具体步骤. MapReduce任务以来H ...

  8. 快速开始Python/WSGI应用程序

    快速开始Python-wsig应用程序 官方参考文档 安装 uwsgi 安装 pip install uwsgi uwsgi --version # 查看 uwsgi 版本 测试 uwsgi 是否正常 ...

  9. python 区块链程序

    python 区块链程序 学习了:https://mp.weixin.qq.com/s?__biz=MzAxODcyNjEzNQ==&mid=2247484921&idx=1& ...

  10. python登录验证程序

    自己写的一个python登录验证程序: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失 ...

随机推荐

  1. manim边做边学--曲面

    Surface类是Manim中专为创建和操控复杂的三维表面而打造的. 在实际应用中,无论是创建数学教学中的几何模型,还是模拟物理现象中的曲面变化,甚至是构建复杂的动画场景中的三维元素,Surface类 ...

  2. Codeforces Round 992 (Div. 2) 解题报告

    比赛地址: https://codeforces.com/contest/2040 A. Game of Division 题目 https://codeforces.com/contest/2040 ...

  3. 程序员出海做 AI 工具:如何用 similarweb 找到最佳流量渠道?

    如题,今天给大家带来实操的一个小教程.这里先抛出个问题:"做海外流量增长,如何为产品制定营销渠道?" 分享一个方法只需要 3 步,方法如下: 找到和你产品最接近的细分 Top 竞争 ...

  4. 【Java高级编程】Java多线程学习笔记

    Java 多线程 目录 Java 多线程 1.多线程创建 方法1:通过 继承 thread 类 方法2:通过 实现 Runnable 接口 2.线程中的相关方法 (1)设置优先级 setPrlorty ...

  5. 【软件】【逆向】StarUML regist

    // 安装npm brew install node //安装打包工具 npm install asar -g C:\Program Files\StarUML\resources StarUML\r ...

  6. Qt数据库应用8-数据导出组件示例说明

    一.前言 为了方便用户学习使用本组件,特意针对每个功能模块,每种可能的应用场景,都编写了对应的示例demo,从初级示例到中级示例再到高级示例以及多线程示例等,层层加码,针对结构体数据都做了相当详细细致 ...

  7. 开源即时通讯IM框架MobileIMSDK的微信小程序端开发快速入门

    一.理论知识准备 您需要对微信小程序开发有所了解: 1)真正零基础入门学习笔记系列 2)从零开始的微信小程序入门教程 3)最全教程:微信小程序开发入门详解 您需要对WebSocket技术有所了解: 1 ...

  8. 思维导图学《Java性能权威指南》

    目录 性能测试 Java 性能调优工具箱 JIT 编译器 垃圾收集 原生内存 线程与同步的性能 Java API 技巧 GitHub LeetCode 项目 目录 YANO SPACE 2021 计划 ...

  9. 基于NVIDIA NGC容器安装使用PaddlePaddle

    基于NVIDIA NGC容器安装使用PaddlePaddle PaddlePaddle PaddlePaddle作为国内首个自主研发的深度学习平台,自2016年正式向专业社区开源,是一个技术先进.功能 ...

  10. centos 安装python3后yum报错

    问题 centos 安装python3后,并且把/usr/bin/python 软链接到python3后,yum命令报错 原因: yum命令依赖于python2,导致报错 解决方法: 修改 /usr/ ...