【问题标题】:How do I disassemble a Python script?如何反汇编 Python 脚本?
【发布时间】:2010-10-26 13:21:36
【问题描述】:

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

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

【问题讨论】:

    标签: python debugging reverse-engineering


    【解决方案1】:

    查看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
    

    【讨论】:

      【解决方案2】:

      除了使用dis作为模块,你还可以作为命令行工具运行它

      例如,你可以在windows上运行:

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

      并将反汇编结果输出到控制台。

      【讨论】:

      • 另一种使用方式:“python -m dis test.py”
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-12
        • 2021-11-25
        • 2022-12-12
        • 2021-03-04
        • 2022-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多