假设我在某些二进制文件中有一个静态链接的库(例如,openssl)。有没有适合该工作的IDA插件?

我想我可以识别库名称和版本。

#1 楼

你的决心是什么意思?如果可以访问某种形式的* nix,则可以在有问题的二进制文件上运行nm命令。

-nm -a

该命令将公开用于二进制文件。通常,如果在符号旁边看到顺序为T或Text的东西,则表示可以调用它,并且可能是函数。通常,如果您在符号旁边看到一个U,则通常表示二进制正在对该函数及其“未定义”进行调用,这就是为什么它旁边有一个U的原因。 -U表示需要在运行时解决该问题。是16/32/64或它们是什么类型的文件。您还可以使用lipo命令查看有关二进制文件的信息

,如果它们恰好是64位文件,并且您有一个方便的调试器并选择感兴趣的符号。如果未记录该符号,则可以通过将其加载到调试器中并在该符号上设置断点来轻松地找出其运行时参数。当击中断点时,请查看寄存器,或者更好地查看断点之前的指令。
通常(64位),您会看到按寄存器RDI和RSI顺序设置的某些内容-或DI和SI的某些部分。一般来说,函数的第一个参数获取DI寄存器,第二个参数获取SI寄存器。如果您看到结果返回,则通常会通过RAX(或A寄存器)显示出来。您可以创建自己的头文件,而无需花费太多的工作。 。

我会发表评论,但没有足够的观点。

评论


我想我没有二进制内的符号。我正在寻找一些熟悉的Windows二进制文件reverse.lostrealm.com/tools/rsymtab.html。

–分析仪
16年8月13日在11:28