從命令行反彙編 Python 腳本?

0x263A

使用 gcc,您可以在將代碼編譯為程序集後使用 -S 來停止編譯。Python/字節碼是否有類似的功能?我知道這樣的方法:

import dis
x = compile('print(1)', '', 'eval')
dis.dis(x)

哪個打印:

  1           0 LOAD_NAME                0 (print)
              2 LOAD_CONST               0 (1)
              4 CALL_FUNCTION            1
              6 RETURN_VALUE

但我正在考慮以下方面的更多內容:

> python3 -{SOME FLAG HERE} output my_script.py

它以可讀格式輸出包含腳本字節碼的文件。

胡安帕阿里維拉加

如果您要查找的是disassembler的輸出,那麼您可以將模塊作為腳本運行:

python -m dis myscript.py

反彙編器輸出將打印到標準輸出。您可以使用適當的 shell 工具將其重定向到某個文件。例如在 *nix 上:

python -m dis myscript.py > output.txt

注意:dis據我所知,這種使用沒有記錄在案,檢查源代碼它可能不是模塊的穩定部分,但它確實適用於當前的 CPython。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

從另一個腳本運行一個 python 腳本,其中命令行參數具有可執行文件

如何從 Python 腳本運行 nohup 命令?

將值從 bash 腳本傳遞到 python 腳本

在 Python 腳本中獲取命令行參數的最佳方法

在命令行/批處理文件/python 腳本中運行 java 主類

如何安排從anaconda運行的python腳本?

如何從 R 獲取 Python 腳本

從 Python 腳本創建 CSV 文件

如何從另一個 Python 腳本訪問 Python 腳本的動態變量?

如何在spark中將雙大括號從shell腳本傳遞到python腳本?

無法從通過 pip 和 setuptools 安裝的 entry_points 腳本中的 exec() Python 腳本

python 包中的命令行腳本:它們在 Windows 機器上工作還是只在 Linux 上工作?

從 VS 代碼在 Python IDLE 中運行 python 腳本

從 Python 2.7 腳本啟動 XAMPP 控制面板 Apache MySql

如何通過命令啟動屏幕並運行python腳本

Bash - 用於從解釋器路徑獲取 Python 站點包路徑的命令/腳本

Python 運行與我的腳本不同的腳本

Python 腳本未執行

使用 ES6 模塊從命令行(Node JS)運行腳本中的函數

Jmeter 不從命令行執行腳本(CLI 模式)但在 GUI 模式下工作正常

編寫腳本來比較值?

xdotool 命令在命令行中工作,而不是在 bash 腳本中

如何從 Docker 容器中的 python 腳本連接到 Ubuntu 上的本地 SQL 服務器

無法使用簡單的 Python 腳本從包含 URL 的文件中檢索響應標頭

如何使用 PSFTP 編寫 SFTP 命令腳本?

MonoBehaviour 腳本無法從 ScriptableObject 腳本調用函數

從 CLP 中的另一個腳本調用 sql 腳本

awk 代碼在命令行中工作但不在我的腳本中

如何在gdbinit腳本中使用python