刘功瑞的博客

有一天你突然惊醒,发现这一切,都只不过是一场梦。

pyc文件反编译到Python源码

使用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 :)


发表评论:

Powered By Z-BlogPHP 1.5.2 Zero

Copyright www.liugongrui.com.All Rights Reserved.