Python 中如何查看進行反匯編


dis模塊
 
    Python 反匯編是通過 dis 這個模塊來查看的,一般有兩種方式可以用來查看
 
 
方式一: 在命令行中使用 dis 查看
 
>>> def test():
...     class X:
...             data = 100
...             def get(self): return self.data
...
>>>
>>>
>>> import dis
>>> dis.dis(test).  # 通過dis 模塊查看匯編代碼
  2           0 LOAD_BUILD_CLASS
              2 LOAD_CONST               1 (<code object X at 0x10b454ae0, file "<stdin>", line 2>)
              4 LOAD_CONST               2 ('X')
              6 MAKE_FUNCTION            0
              8 LOAD_CONST               2 ('X')
             10 CALL_FUNCTION            2
             12 STORE_FAST               0 (X)
             14 LOAD_CONST               0 (None)
             16 RETURN_VALUE
 
Disassembly of <code object X at 0x10b454ae0, file "<stdin>", line 2>:
  2           0 LOAD_NAME                0 (__name__)
              2 STORE_NAME               1 (__module__)
              4 LOAD_CONST               0 ('test.<locals>.X')
              6 STORE_NAME               2 (__qualname__)
 
  3           8 LOAD_CONST               1 (100)
             10 STORE_NAME               3 (data)
 
  4          12 LOAD_CONST               2 (<code object get at 0x10b454b70, file "<stdin>", line 4>)
             14 LOAD_CONST               3 ('test.<locals>.X.get')
             16 MAKE_FUNCTION            0
             18 STORE_NAME               4 (get)
             20 LOAD_CONST               4 (None)
             22 RETURN_VALUE
 
Disassembly of <code object get at 0x10b454b70, file "<stdin>", line 4>:
  4           0 LOAD_FAST                0 (self)
              2 LOAD_ATTR                0 (data)
              4 RETURN_VALUE
>>>

 

 
方式二,通過運行 python 文件使用 -m 參數來查看
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM