如何反汇编Python脚本?

时间:2009-05-15 16:12:02

标签: python debugging reverse-engineering

今天早些时候,我asked a question介绍了Python处理某些循环的方式。其中一个答案包含我的示例的反汇编版本。

我想知道更多。如何反汇编我自己的Python代码?

3 个答案:

答案 0 :(得分:12)

查看dis模块:

def myfunc(alist):
    return len(alist)

>>> dis.dis(myfunc)
  2           0 LOAD_GLOBAL              0 (len)
              3 LOAD_FAST                0 (alist)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE

答案 1 :(得分:2)

使用Python标准库中的dis模块(import dis,例如在交互式解释器中,然后dis.dis使用您关心的任何函数! - 。

答案 2 :(得分:2)

除了使用dis作为模块之外,您还可以将其作为命令行工具

运行

例如,在Windows上可以运行:

c:\Python25\Lib\dis.py test.py

它会将反汇编的结果输出到控制台。

相关问题