首页 > 代码库 > 枚举导出的函数
枚举导出的函数
//枚举导出的函数//#include <idc.idc>static main(){ auto entrypoints,i,ord,addr,name,purged,file,fd; file = AskFile(1,"*.idt","Select IDT save file"); //打开文件对话框 fd = fopen(file,"w"); //以写的方式打开 entrypoints = GetEntryPointQty(); //返回共享库中导出的符号数量 fprintf(fd,"ALIGNMENT 4\n"); fprintf(fd,"0 Name = %s\n",GetInputFile()); //返回加载到IDA中的文件名称 Warning("Name = %s\n",GetInputFile()); //返回加载到IDA中的文件名称 for(i = 0 ; i< entrypoints; i++) { ord = GetEntryOrdinal(i); //返回入口点(导出库)索引,如果没有返回0 if(ord == 0) continue; addr = GetEntryPoint(ord); //返回导出函数关联的地址 if(ord == addr) { continue; } name = Name(addr); //导出函数名字 fprintf(fd,"%d Name = %s",ord,name); purged = GetFunctionAttr(addr,FUNCATTR_ARGSIZE); //从堆栈中清除的字节数量 if(purged > 0) { fprintf(fd," Pascal=%d",purged); } fprintf(fd,"\n"); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。