-
-
[旧帖]
[IDA插件]IDA如何批处理?
0.00雪花
-
发表于:
2008-11-13 10:03
4104
-
[旧帖] [IDA插件]IDA如何批处理?
0.00雪花
小弟写了一个插件,打印WinMain()或DllMain()的VA,代码很简单:
void IDAP_run(int arg)
{
// 插件的实体
// 循环遍历所有函数,看每个函数名是否包含"WinMain"或"DllMain",是就打印名称和VA
for (size_t f = 0U; f < get_func_qty(); f++)
{
char funcName[MAXSTR];
// getn_func() 返回由函数序号指定的func_t结构
func_t *curFunc = getn_func(f);
// get_func_name()获取函数名,并存储到funcName
get_func_name(curFunc->startEA, funcName, sizeof(funcName)-1);
if(NULL != strstr(funcName, "WinMain") || NULL != strstr(funcName, "DllMain"))
{
msg("%s:\t%a\n", funcName, curFunc->startEA);
break;
}
}
return;
}
但是IDA插件是依赖IDA的,而IDA每次只处理一个文件,IDA SDK里的各种数据结构也只是针对一个文件才有意义。我想问一下,IDA SDK可不可针对一个目录下的N个EXE自动进行处理,生成idb文件,并对每一个文件运行我的插件,打印出我想要的信息。
我看了下IDC脚本,它貌似也是依赖单一文件的,依赖IDA的。IDAPython也是,也是依赖IDA的,都只能一次处理一个文件。
大家有没有好的方法,能利用IDA批量抽取一坨PE文件的信息?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课