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


相关推荐

  • java 字符 几个字节_java中字符串占几个字节「建议收藏」

    java 字符 几个字节_java中字符串占几个字节「建议收藏」首先,char为Java的基本类型,基本类型所占的字节数是固定的,如int占4字节,double占8字节,这可以使得Java在不同的平台上所占类型固定,很好地保证了Java的可移植性。因此,Java中char类型固定占2个字节。(注:char类型也可以存储一个汉字)。其次,String采用一种更灵活的方式进行存储。在String中,一个英文字符占1个字节,而中文字符根据编码的不同所占字节数也不同。…

    2022年6月26日
    59
  • datagrip 激活码最新_最新在线免费激活

    (datagrip 激活码最新)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlbnNlSWQiOi…

    2022年3月27日
    60
  • 信道容量计算公式_信道均衡算法

    信道容量计算公式_信道均衡算法信道带宽=符号率*符号数*(188/204)注释:符号率&lt–&gt频宽(下行欧标频宽8MHz,上行有1.6MHz,3.2MHz,6.4MHz三种频宽);符号数&lt–&gt调制方式(符号数=Log2~调制方式,如QAM64的符号数为6,2的6次方=64)=====================================================…

    2022年8月31日
    5
  • 一键安装TiDB开发环境(centos7)

    一键安装TiDB开发环境(centos7)

    2021年5月13日
    186
  • PLSQL操作Oracle创建用户和表

    PLSQL操作Oracle创建用户和表1、打开PLSQL,填写用户名和密码(初始有两个用户sys和system,密码是自己安装oracle数据库时定的),Database选择ORCL(默认数据库,oracle中创建的用户就像是mysql中建的数据库,两者有异曲同工之妙)2、登陆成功后在界面的头部可以看到一下信息,最上面的system@ORCL就表示是用户system在登录状态,其中菜单栏的session可以登录、退出…

    2022年5月19日
    44
  • Java8新特性 stream流常用方法

    Java8新特性 stream流常用方法Java8API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。StreamAPI可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,…

    2022年10月5日
    2

发表回复

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

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