Minsc
是18年的IDA插件大赛的季军 , 用于结构化的分类管理IDA_Python的接口
IDA-2018插件大赛
获取结构体相关数据
structure.list() |
用于实时打印当前所有结构体列表 | |
---|---|---|
structure.iterate(like="*") |
用于获得当前所有的结构体对象 | |
`structure.by([str | id])` | 获得指定的struct对象 |
structure.members |
结构体中所有member对象列表生成器 | |
member_t.name |
获得member的名称 | |
member_t.typeinfo |
获得member的属性(struct, DWORD, LPVOID等) |
structure.iterate() => structure[]
structure.members => members_t[]
members_t.iterate() => member_t
两种结构均可使用 iterate(like="*") 获得一个对象列表生成器
例子:
# Wall structure:
list(idaHelper.structure.iterate(like="*") # AllStructure
# "Wall Members:
for var in tmpMembers.iterate(like='*'):
g_LogOut.debug(var.name) # registration
g_LogOut.debug(var.fullname) # CPPEH_RECORD.registration
g_LogOut.debug(var.typeinfo) # struct _EH3_EXCEPTION_REGISTRATION
---------------------------------------------------------------------------
2018-11-29 13:35:50,632 | DEBUG | StructCount: 50
2018-11-29 13:35:50,632 | DEBUG | <type 'structure' name='CPPEH_RECORD' size=+0x18>
2018-11-29 13:35:50,634 | DEBUG | Wall Members:
2018-11-29 13:35:50,634 | DEBUG | old_esp
2018-11-29 13:35:50,634 | DEBUG | CPPEH_RECORD.old_esp
2018-11-29 13:35:50,635 | DEBUG | DWORD
2018-11-29 13:35:50,635 | DEBUG |
2018-11-29 13:35:50,637 | DEBUG | exc_ptr
2018-11-29 13:35:50,638 | DEBUG | CPPEH_RECORD.exc_ptr
2018-11-29 13:35:50,638 | DEBUG | EXCEPTION_POINTERS *
2018-11-29 13:35:50,638 | DEBUG |
2018-11-29 13:35:50,638 | DEBUG | registration
2018-11-29 13:35:50,640 | DEBUG | CPPEH_RECORD.registration
2018-11-29 13:35:50,640 | DEBUG | struct _EH3_EXCEPTION_REGISTRATION
2018-11-29 13:35:50,641 | DEBUG |