【发布时间】:2013-11-18 10:22:57
【问题描述】:
我有这个 Python 代码:
import marshal, imp
if imp.get_magic() == '\x03\xf3\r\n':
__code = marshal.loads('c\x00\x00\x00\x00.....\x00d\x01\x00k\x00.....\t\t\r\x01')
del marshal, imp
exec __code
if 条件检查 Python 版本是否为“正确”版本。然后marshal 用于加载包含一些代码的字符串。
第一个问题:该字符串是如何生成的?也许compile()?但具体如何?
第二个问题:我可以反编译那个字符串吗?怎么样?
【问题讨论】:
-
那是一条可怕的蟒蛇。
-
@JakobBowyer 我知道,对吧?这就是为什么我试图弄清楚它在做什么:P
-
@JakobBowyer 为什么这么害怕。请解释一下
标签: python bytecode decompiling