rdata 的二进制文件中有数百个unicode字符串,但 IDA 没有正确定义它们,因此我必须手动指定每个 Unicode 字符串偏移量(Alt+A -> Unicode)。这样做后,字符串将正确呈现。
我想知道这里是否有一些脚本,因为我搜索了太多,并将任何可能的设置和默认设置更改为 Unicode,但仍然没有结果。
rdata 的二进制文件中有数百个unicode字符串,但 IDA 没有正确定义它们,因此我必须手动指定每个 Unicode 字符串偏移量(Alt+A -> Unicode)。这样做后,字符串将正确呈现。
我想知道这里是否有一些脚本,因为我搜索了太多,并将任何可能的设置和默认设置更改为 Unicode,但仍然没有结果。
我找到了解决方案 http://www.openrce.org/forums/posts/771
只有 1 个“但是” - 它仅适用于未定义的字符串。这就是为什么在现有项目中更改设置对我没有帮助的原因- unicode 字符串以某种方式被定义为数据。
所以我从头开始打开二进制文件,禁用“如果数据外部参照到 seg32 存在,则创建偏移量”,并且 IDA 识别了所有 unicode 字符串。
我使用 IDAPython 魔术从新识别的项目中转储了所有 UNICODE 字符串地址(开始到结束)。然后在现有项目中使用它们:取一个地址范围,取消定义它,定义为数据(使用 UNICODE),定义一个字符串。
像魅力一样工作。