分析外壳脚本
问题描述:
这将成为逆向工程项目的一部分。分析外壳脚本
要确定并记录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