IDA是一个逆向好工具,特别是F5更是为逆向分析节省了大量的时间。
但是有时F5出现的伪C代码中的库函数IDA并没有自动识别出来。比如delphi写的程序,MFC程序等待
此时可以根据编译器,和连接器在IDA中设置签名库
以熊猫烧香病毒为例:
使用查壳工具查看是delphi程序(例子已脱壳)
放入IDA中,可以看到有很多函数并未识别。经查可发现是FLIRT技术未正确识别编译器造成的问题
FLIRT技术的目的是为了每个可标识的库函数创建一个“签名”使IDA在分析时候能标识它 如果IDA支持程序的编译器,但是FLIRT没有自动识别出来,就可以强制使用其编译器特征文件,例如: 这里用一个Delphi5编写的程序演示,Delphi5的签名文件d5vcl.sig储存在IDA\SIG目录中,运行IDA,打开Delphi5.exe,我们发现SHIFT+F5可到应用库模块列表页面查看,delphi的库文件并没有被识别
![](/i/l/?n=22&i=blog/2978860/202210/2978860-20221009143057916-1956688575.png)
右键出现菜单栏,选择添加新签名(Applay new signature)
出现签名选择页面,根据查壳工具得出的编译器类型选择对应签名。
随着签名的添加,而识别出的函数也在增加。
在此例子中因为我只知道编译器是Borland 语言是Delphi。所以无法精准确定是那个签名库,只能添加了多个库。用来尽可能多的识别函数。
标签:delphi,编译器,库函数,签名,识别,IDA From: https://www.cnblogs.com/mumu333/p/16772111.html