有没有办法让以元帅形式编写的代码恢复到原来的形式, 我用元帅语法编写了这段代码:
from marshal import loads
exec(loads(b'c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xf3\x1c\x00\x00\x00\x97\x00\x02\x00e\x00d\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00d\x01S\x00)\x02z\x0bhello worldN)\x01\xda\x05print\xa9\x00\xf3\x00\x00\x00\x00\xfa\x08<string>\xfa\x08<module>r\x05\x00\x00\x00\x01\x00\x00\x00s\x1b\x00\x00\x00\xf0\x03\x01\x01\x01\xd8\x00\x05\x80\x05\x80m\xd1\x00\x14\xd4\x00\x14\xd0\x00\x14\xd0\x00\x14\xd0\x00\x14r\x03\x00\x00\x00'))
这是python3.11中
print("hello world")
的代码,有什么方法可以将其恢复为清晰的形式吗?
我尝试使用
将元帅代码转换为pyc文件python -m py_compile "myFile.py"
然后使用 pycdc 工具反编译它,但它未能给我原始源代码。
from marshal import loads
exec(loads(b'c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xf3\x1c\x00\x00\x00\x97\x00\x02\x00e\x00d\x00\xa6\x01\x00\x00\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00d\x01S\x00)\x02z\x0bhello worldN)\x01\xda\x05print\xa9\x00\xf3\x00\x00\x00\x00\xfa\x08<string>\xfa\x08<module>r\x05\x00\x00\x00\x01\x00\x00\x00s\x1b\x00\x00\x00\xf0\x03\x01\x01\x01\xd8\x00\x05\x80\x05\x80m\xd1\x00\x14\xd4\x00\x14\xd0\x00\x14\xd0\x00\x14\xd0\x00\x14r\x03\x00\x00\x00'))
将代码解码为可读格式
打印此代码
print("hello world")