在没有源代码的情况下确定exe接受的参数?

时间:2013-05-27 06:40:10

标签: c++ arguments reverse-engineering

我有一个我每天工作的应用程序。 开发人员提供了各种便利参数,当传递给exe执行某些任务时。在调试问题时,技术支持人员告诉我使用一些特殊的args来运行exe,这减少了我工作的大量手动步骤。但是,开发人员并不友好地分享所有这些args的列表。所以我想知道是否有办法确定exe接受的args?该应用程序是用C ++开发的。

1 个答案:

答案 0 :(得分:3)

我要做的第一件事就是在可执行文件上运行strings(在类UNIX操作系统下),以提取任何看起来像选项的内容。

这不会告诉您如何使用特定选项,但是,如果您的strings命令返回:

--option1
--option2
--run-faster
--use-less-cpu
--format-hard-disk

这是一个非常安全的选择,那些是有效的选择。较短的选项可能不会那么容易显示,因为strings往往是明显的文本数据。

即使你没有像strings这样的东西,也很可能所有的选项都会被混淆在可执行文件中,这只是因为许多编译器和链接器的工作方式。

而且,正如Eugeny Loy在评论中指出的那样,微软的sysinternals套件也有strings utility


顺便说一下,在尝试测试--format-hard-disk是否是有效选项之前,我会暂停一下: - )