我可以在 IDAPython 中扩展结构的视图吗?

逆向工程 艾达 蟒蛇
2021-07-04 07:30:21

当我使用 IDAPython 将数据定义为结构时,它会出现在折叠视图中的 IDA 视图中。出于好奇,是否可以以编程方式扩展结构的视图?

例如,如果我运行MakeStructEx(0x400000, -1, "IMAGE_DOS_HEADER"),我会看到:

IMAGE_DOS_HEADER <5A4Dh, 90h, 3, 0, 4, 0, 0FFFFh, 0, 0B8h, 0, 0, 0, \
                  40h, 0, 0, 0, 0, 0, 0E0h>

但我想看看:

dw 5A4D                ; e_magic
dw 90h                 ; e_cblp
dw 3                   ; e_cp
dw 0                   ; e_crlc
... (lines removed) ...
dd 0E0h                ; e_lfanew

我正在使用 IDA 6.2。

2个回答

将文本光标放在<之间的某个位置>然后按数字小键盘上的 +

不幸的是,我没有 IDA 6.2,但如果此版本支持 IDAPython 和相应的 API,您可以尝试执行以下操作:

import idc
idc.Jump(address)
idc.ProcessUiAction("UnHide", 0)

这会将光标移动到“地址”ea 并重播与“UnHide”字符串关联的用户操作Ctrl+Numpad+,即执行您在 IDA 6.8 中请求的操作。我认为它也应该适用于 IDA 6.2。很有可能有一些专门为此设计的 IDAPython API,但我找不到它。

这绝对适用于 IDA 6.8。祝你好运