取待查一个未记录的可执行文件。试图/ ?, -h,命令行的产量没有--help。 是否有可能发现如果可执行文件支持的可执行文件?可能逆向工程里面找任何命令行选项?什么是这样做的最佳方式?

我说的是一个Windows可执行文件,但很想听到你会与其他操作系统需要不同的方法。

有帮助吗?

解决方案

对于Windows,你可以看到的有关反编译的Windows可执行文件这一问题。它应该是比较容易的,至少发现选项(他们实际上做的是一个不同的故事)。

其他提示

在Linux中,一个步骤将被运行strings your_file的转储的文件中的可打印字符的所有字符串。任何常量字符将因此被示出,包括任何“用法”的指令。

接着步骤可以是在文件上运行ltrace。这说明所有的函数调用的程序一样。如果它包括getopt(或熟悉的),则它是一个明确的信号,它是处理输入参数。事实上,你应该能够看到什么说法程序期待,因为这是对getopt函数的第三个参数。

如果它是一个.NET可执行尝试使用反射。这将MSIL代码转换成等价的C#代码,可能更容易理解。不幸的是私人和局部变量名都将丢失,因为这些不存储在MSIL,但应该还是有可能跟着发生了什么事情。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top