IDA pro Flair 制作静态库文件签名

时间:2024-05-21 15:55:23

        在逆向分析软件的时候,会遇到应用程序静态链接了某些开源的库,而IDA并不能对这些开源的

库函数进行识别,这时候就需要我们去制作对应库文件的 函数签名文件,帮助IDA识别静态链接的

库函数。

      需要的工具以及文件:pcf.exe - 生成模式文件的工具; sigmake.exe - 生成sig文件的工具;

开源库的源代码编译器

      注意:I.因为不同编译器生成的汇编代码是不同的。所以,你最好要知道你的目标软件是用

什么编译器编译生成的,否则生成的sig文件将无法帮助IDA识别静态链接的函数。

II.制作pat文件时会遇到冲突,可根据.exc文件的提示解决冲突。

       下面我将举一个简单的栗子,生成一个静态库,然后写一个简单程序静态链接库函数,

制作sig文件,让IDA识别这个静态库函数。

1. 用Dev C++ 创建一个静态库 ,并用 Release 编译这个库。

IDA pro Flair 制作静态库文件签名

2. 写一个调用这个静态库函数的简单程序。

直接编译是过不了的,要添加.a文件才能过编译。

IDA pro Flair 制作静态库文件签名

添加.a文件:

IDA pro Flair 制作静态库文件签名

并且要设置去除符号链接:

IDA pro Flair 制作静态库文件签名 

 

现在可以用Release 编译了:

IDA pro Flair 制作静态库文件签名

 

3. 先IDA载入刚刚编译好的程序看看main函数。

很明显没能识别出静态编译的函数。好了,现在我们来制作sig文件来识别静态库函数。

 IDA pro Flair 制作静态库文件签名

4. 制作 pat 文件

IDA pro Flair 制作静态库文件签名

5.制作 sig 文件

IDA pro Flair 制作静态库文件签名 

6.把sig文件拷贝到IDA sig的目录,在IDA shift+F5 已经可以识别了。 

IDA pro Flair 制作静态库文件签名

7.查看结果啦~

IDA pro Flair 制作静态库文件签名