pyc文件的反编译
最近有个需求,说是某个oss服务license过期了,需要帮看看,能不能恢复.登录上去后发现是个python写的oss服务,全是pyc文件。
想办法找到服务目录,启动服务后,请求了一下,返回license过期了:
1 | <?xml version="1.0" encoding="UTF-8"?> |
找到config文件,发现了里面的License信息,明显是个Base64编码,但Decode后又是乱码,看来应该还有层加密,那破解只能反编译pyc文件,看python源码解析了。
python反编译工具 uncompyle6
github地址: https://github.com/rocky/python-uncompyle6
pip安装
1 | pip install uncompyle6 |
使用
譬如反编译license.pyc文件生成源码文件license.py
1 | uncompyle6 -o license.py license.pyc |
vim license.py
,一目了然, 就是个时间戳的加密。。。
生成个新的license:
1 | python2 license.py encode_license 3000 01 01 |
替换,结束
结论
如果是卖不想给源码或者证书的服务,用python做实在是不合适。。。