-
-
[求助]IDA插件开发提取信息遇到的问题
-
发表于:
2010-3-23 21:14
4491
-
不知道是不是因为搞逆向的人读代码能力都极强,我怎么感觉IDA SDK的代码风格好差啊;无论是命名还是代码组织。
找了好久了,一直没有找到以下信息,希望知道的人告知下:
1)模块名。就是导入一个exe或者dll后,该exe或者dll的名字。按说这个是最基本的信息,但我找了idainfo结构体,以及再下层的segment_t或者func_t都没找到保存模块名的地方。
2)函数信息。包括返回值类型,参数列表。
先不提自己定义的函数,库函数,按说应该通过FLIRT找到信息的,但没找到可以用的接口;而且这些信息应该已经存在func_t结构里了才对,我就找到了参数个数和保存的寄存器参数个数。
后来我尝试在hexrays的sdk里想通过反编译的结构来找函数信息。也是在cfunc_t结构里,直接没找到,有一个get_function_type(手头没有代码,不知道有没有写对)得到返回类型和参数类型表。但是返回的一个是typestring一个是qstring。但要提取还真麻烦。同样也没找到函数名。
3)变量信息。
想通过hexrays的cfunc_t来获取,没找到好方法。有一个本地变量表,调试的时候观察了下它的结构,没找到信息存放的地方。我想最好能将反编译后的结构与原来的汇编码有对应,也就是说知道识别出来的变量被原来的哪些汇编用到。hex貌似提供了汇编码这个域,但不知道怎么用。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)