2010-01-13 154 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查找每个

    一击?