如何把pyc反编译成py_exe文件反编译源码工具

如何把pyc反编译成py_exe文件反编译源码工具将pyc文件反编译成python源代码

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天手残了,本来想着删掉项目里面所有的pyc文件,不知道脑袋想着什么就变成了find . -type f -name "*.py" -exec rm -f {} \;
结果你懂得,我这两天写的代码还没提交到git!整个人瞬时懵逼……
后来看着文件夹里面还剩下的pyc文件我灵机一动,可以试试从pyc文件反编译回去,经过高人指点,有了下面这段

使用uncompyle

项目地址:https://github.com/wibiti/uncompyle2

注: 按照官方文档的说法应该是只支持python 2.7,其他版本我也没有测试

安装

最方便的就是使用pip安装
pip install uncompyle

使用方法

我使用pip在mac os上安装好后的可执行文件名叫uncompyle6很奇葩有没有
uncompyle6 --help 查看帮助
uncompyle6 models.pyc > models.py 将models.pyc反编译成py文件
uncompile -o . *.pyc 将当前文件夹中所有的pyc文件反编译成后缀名为.pyc_dis的源文件

总结

  • 反编译后的效果可以说很理想,如果你的代码格式符合PEP8规范的要求,那就基本和源来的文件一样,不过各种注释就没有了(不能要求太高是不是)
  • 最后改的代码还没有运行(没有生成pyc)的,就真的丢了,不过不多,再写一遍吧!
  • 问题是解决了,不过最后要反思一下,使用find + rm 删除文件的时候一定要小心,按确认之前一定要再三检查
  • 最后贴上Stack Overflow上面的一个回答以及下面的评论的截图
    stack overflow
    我想说 +1 and another :)

参考 http://stackoverflow.com/questions/48211/free-python-decompiler-that-is-not-an-online-service/7474393#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172363.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 错误端口已被占用1080_端口已打开 错误1231

    错误端口已被占用1080_端口已打开 错误1231更新记录版本时间修订内容1.02018-3-28增加了方案二问题的提出【实验环境】:Win764bit也许你会碰到以下错误:本文给出2种解决方案。方案一既然说端口已被占用,那就需要找出是哪个程序占用了1080端口。打开cmd.exe,输入命令:netstat-aon|findstr"1080"最后一列就是PID了,…

    2022年9月18日
    0
  • pycharm开启自动补全_pycharm自动整理代码

    pycharm开启自动补全_pycharm自动整理代码pycharm具有代码自动补全的功能。无意中将其功能关闭,百度了好久才解决掉,所以把这次失误记录下来。那么我们怎么打开呢?在软件的左上角找到File-》PowerSaveMode,将对勾去掉就可以了。…

    2022年8月28日
    0
  • Docker教程(超全总结)[通俗易懂]

    Docker教程(超全总结)[通俗易懂]Docker基础+进阶总结,让你一文读懂Docker

    2022年10月15日
    1
  • Java的@Transactional事务回滚

    @Transactional基本原理概述在应用系统调用声明@Transactional的目标方法时,SpringFramework默认使用AOP代理,在代码运行时生成一个代理对象,根据@Transactional的属性配置信息,这个代理对象决定该声明@Transactional的目标方法是否由拦截器TransactionInterceptor来使用拦截,在Transacti…

    2022年4月9日
    855
  • awvs使用方法_一般人游50米要多久

    awvs使用方法_一般人游50米要多久Awvs的是一款非常好用的web漏洞扫描工具,他的扫描速度比较快,可以自己选择扫描速度,比较灵活。Awvs分为老的版本和新版本,下面我介绍的是新版本的功能和用法。功能介绍如下:仪表盘(监视器)功能,添加目标功能,漏洞排序功能,扫描功能,发现功能,用户功能,扫描配置功能,网络扫描功能,追踪器功能,防火墙设置,邮件设置,引擎,时间排除功能,代理功能,常规设置主要使用的功能是前面的6个,后面的根据个人的需要进行配置详细介绍如下:Dashboard功能:翻译意思仪表盘(监视器),可以对扫描对扫描

    2022年9月22日
    0
  • spssχ2检验_一致性检验和配对卡方检验的SPSS实例操作图文详解[通俗易懂]

    spssχ2检验_一致性检验和配对卡方检验的SPSS实例操作图文详解[通俗易懂]一致性检验和配对卡方检验的SPSS实例操作图文详解,配对计数资料的卡方检验。一、问题与数据有两种方法可用于诊断某种癌症,A方法简单易行,成本低,患者更容易接受,B方法结果可靠,但操作繁琐,患者配合困难。某研究选择了53例待诊断的门诊患者,每个患者分别用A和B两种方法进行诊断(表1),判断两种方法诊断癌症有无差别,A方法是否可以代替B方法。表1进口药和国产药治疗效果二、对数据结构的分析之前介绍过成…

    2022年5月17日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号