這將成爲逆向工程項目的一部分。分析外殼腳本
要確定並記錄shell腳本(ksh,bash,sh)的功能,如果您有關於調用的其他程序/腳本的信息,那麼這很舒服。
如何自動執行此任務?你知道任何可以解析shell腳本的程序或框架嗎?例如,通過這種方式,我可以識別外部命令調用 - 朝着正確方向邁出的一步。
這將成爲逆向工程項目的一部分。分析外殼腳本
要確定並記錄shell腳本(ksh,bash,sh)的功能,如果您有關於調用的其他程序/腳本的信息,那麼這很舒服。
如何自動執行此任務?你知道任何可以解析shell腳本的程序或框架嗎?例如,通過這種方式,我可以識別外部命令調用 - 朝着正確方向邁出的一步。
對於bash/sh/ksh,我認爲你可以很容易地修改它們的源代碼來記錄執行的內容。這將是一個解決方案。
bash -v script.sh?
Bash的xtrace是你的朋友。
set -x
在你的腳本的頂部與bash -x
(甚至bash --debugger -x
)(set -x; export SHELLOPTS; your-script;)
你可以調用它
如果您實際上無法運行腳本,請嘗試將其加載到支持Bash語法高亮顯示的文本編輯器中。它將顏色代碼的所有文本,應有助於說明什麼是保留字,變量,外部命令等
如何:
獲取該腳本
的不同單詞的列表搜索$ PATH查找每個
一擊?
沒有什麼比人類好。 – ghostdog74 2010-01-13 11:37:33
感謝您的答案。 不幸的是,實際情況更糟糕。 我不能(至少還沒有)運行這些腳本。我擁有的只是他們的來源。這就是爲什麼我想解析,而不是一些聰明的調試/跟蹤方式。 – 2010-01-13 13:04:31