我有一个带有静态链接库的剥离 elf 文件。有没有办法可以获取文件中的原始库文件并命名 IDA 中与库中的函数匹配的函数?
IDA 从静态库加载符号
逆向工程
艾达
小精灵
2021-07-08 00:05:46
2个回答
您需要使用FLAIR 工具包从静态库创建 FLIRT 签名,然后将这些签名应用于加载的文件。请注意,这仅在二进制编译中使用完全相同的库时才有效(例如编译选项必须匹配),因为 FLIRT 依赖于字节匹配。有关 FLIRT 的更多信息,请参阅https://www.hex-rays.com/products/ida/tech/flirt/in_depth.shtml
可能这个ida pro插件可以帮助syms2elf
该插件将IDA Pro和radare2识别的符号(暂时只有函数)导出到ELF符号表中。这使我们可以利用 IDA/r2 的强大功能识别功能(分析、FLIRT 签名、手动创建、重命名等),但不仅限于此工具的专有使用。支持 32 位和 64 位文件格式。
示例
基于完全剥离的 ELF:
$ file test1_x86_stripped
test1_x86_stripped: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
https://github.com/danigargu/ida-syms2elf
编辑
另一个插件wsym
将符号添加到 ELF 文件。有点与条带相反。这是一个非常早期的开发阶段,应该被视为 PoC/beta 软件。
https://github.com/wapiflapi/wsym
其它你可能感兴趣的问题