Ghidra + IDA 无法检测到字符串,但 Radare2 可以
逆向工程
艾达
雷达2
吉德拉
2021-06-23 01:40:28
1个回答
我不知道字符串的确切长度。但是,这里需要注意的几点如下:
- Ghidra 和 IDA 对恢复正确类型的字符串大小有最小限制(ghidra 有一个限制 - 或下限为 5)。
- 这对于避免任何误报或冲突类型是必要的。并在不将指针标记为字符串的情况下恢复正确的类型。请查看此图以供参考。使用 Ghidra 自动分析生成。
在 Ghidra 中,您可以在分析部分更改此限制(最小为 4)。
Strings
命令输出最小大小为 4 的可打印字符(另外它不使用复杂的类型恢复算法,如 ghidra 或 Ida)。我相信你有一个长度小于 5 的字符串,我猜它必须是 4 才能精确。- 字符串通常在
.rodata
节中定义。如果双击 DAT_xxxx,它将带您到定义该字符串的位置。在那里,您将看到 Ghidra 或 IDA 将连续字节串在一起(如图 1 所示)。但是,该类型不会解析为“字符串”。 - 在 Ghidra 中,通过更改 DAT_xxxx 标签的数据类型来快速解决此问题:右键单击 -> 数据 -> 选择数据类型 -> 选择字符串
参考资料:
- 在此处查看我的问题 - https://github.com/NationalSecurityAgency/ghidra/issues/2274
- 字符串手册 - https://linux.die.net/man/1/strings
- ida pro -如何让 IDA 看到字符串引用?
其它你可能感兴趣的问题