如何把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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • anaconda3添加环境变量_pycharm添加环境变量

    anaconda3添加环境变量_pycharm添加环境变量anaconda下base环境自带pyqt但作为初学者使用起来不好用于是我自己创了一个环境专门去搞pyqt接下来是如何使用pycharm通过anaconda来配置使用pyqt默认已经安装anaconda和pycharm首先打开anacondaprompt输入上面的的代码块是安装过程总结:1>condacreate-nGUIpyqtpython=3.72>co…

    2022年8月25日
    8
  • 不招女人喜欢的男人15个细节

    不招女人喜欢的男人15个细节我喜欢成熟型的,我喜欢阳光型的,我喜欢温柔体贴的,身边的朋友诉说着自己的择偶要求,对于将来的另一半,总是充满着幻想,充满着期待,可是很多细节问题,女的很注意,哪怕,另一半属于这个类型,因为细节问题,也不会选择他作为,托付终身的选择。一:啰嗦一天到晚,听着他唠叨,把一件事情,从早晨念到晚上,虽然知道他是为自己好,可是不能忍受,自己的老公那么鸡婆,和一个女的一样…

    2022年7月25日
    13
  • ext.apply()_vba中evaluate使用方法

    ext.apply()_vba中evaluate使用方法EXT.applyEXT.apply方法详解EXT.apply方法详解apply的用法:Ext中apply及applyIf方法的应用apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。apply方法的签名为“apply(Objectobj,Objectconfig,Objectdefaults):Object”,该方法包含

    2022年7月28日
    9
  • 几个常用算法的适应场景及其优缺点!

    几个常用算法的适应场景及其优缺点!

    2021年11月22日
    38
  • sop标准作业流程模板_一份标准作业流程SOP详解「建议收藏」

    什么是SOP?StandardOperationProcedure所谓SOP,是StandardOperationProcedure三个单词中首字母的大写,即标准作业程序。是以文件的形式描述作业员在生产作业过程中的操作步骤和应遵守的事项;是作业员的作业指导书;是检验员用于指导工作的依据。“制造”就是以规定的成本、规定的工时、生产出品质均匀、符合规格的产品。要达到上述目的,如果…

    2022年4月3日
    6.6K
  • KDD2018《Adversarial Attacks on Neural Networks for Graph Data》 论文详解「建议收藏」

    KDD2018《Adversarial Attacks on Neural Networks for Graph Data》 论文详解「建议收藏」论文链接:https://arxiv.org/pdf/1805.07984.pdfAbstract本文介绍了第一个在属性图上进行对抗攻击的研究,特别关注利用图卷积的思想模型。除了在测试阶段进行攻击,本文进行了更具挑战的poisoningattack(聚焦于机器学习模型的训练阶段)类别。在考虑实例间依赖关系的情况下,针对节点特征和图结构进行对抗扰动(adversarialperturbation)。通过保证重要的数据特征保证扰动是不可见的(unnoticeable)。为了解决底层的离散域(disc

    2022年8月11日
    16

发表回复

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

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