2010-01-13 152 views
0

這將成爲逆向工程項目的一部分。分析外殼腳本

要確定並記錄shell腳本(ksh,bash,sh)的功能,如果您有關於調用的其他程序/腳本的信息,那麼這很舒服。

如何自動執行此任務?你知道任何可以解析shell腳本的程序或框架嗎?例如,通過這種方式,我可以識別外部命令調用 - 朝着正確方向邁出的一步。

+0

沒有什麼比人類好。 – ghostdog74 2010-01-13 11:37:33

+0

感謝您的答案。 不幸的是,實際情況更糟糕。 我不能(至少還沒有)運行這些腳本。我擁有的只是他們的來源。這就是爲什麼我想解析,而不是一些聰明的調試/跟蹤方式。 – 2010-01-13 13:04:31

回答

1

對於bash/sh/ksh,我認爲你可以很容易地修改它們的源代碼來記錄執行的內容。這將是一個解決方案。

0

Bash的xtrace是你的朋友。

  • set -x在你的腳本的頂部與bash -x(甚至bash --debugger -x
  • 或遞歸調用腳本做(set -x; export SHELLOPTS; your-script;)
  • 你可以調用它

  • 0

    如果您實際上無法運行腳本,請嘗試將其加載到支持Bash語法高亮顯示的文本編輯器中。它將顏色代碼的所有文本,應有助於說明什麼是保留字,變量,外部命令等

    1

    如何:

    1. 獲取該腳本

      的不同單詞的列表
    2. 搜索$ PATH查找每個

    一擊?