SIG在IDA中相当于符号文件的作用,如果是自己写的PE程序,编译后会有OBJ文件,可以通过工具把它转化为一个SIG 便于在IDA观看。要应用SIG需要把SIG文件拷贝到IDA目录下的sig文件夹中,然后在IDA中shift+F5在右键添加相应添加相应的项目,反汇编中的函数名就会变为原本的函数名,这样方便查看。如果是第三方lib 也可以转换出一个sig 其中转换需要用到的工具有 pcf.exe link.exe sigmake.exe 这三个文件可以从《C++反汇编与逆向分析》的随书文件得到 为了方便使用可以三个文件拷贝到system32
1.OBJ转SIG
- pcf test.obj
- sigmake test.pat test.sig
-
- 第一步得到PAT文件 第二步生成sig文件
2.lib转SIG
由于lib里边有很多OBJ所以这里用批处理文本来写,从《C++反汇编与逆向分析》得到以下代码
- md %1_objs
- cd %1_objs
- for /F %%i in ('link -lib /list %1.lib') do link -lib /extract:%%i %1.lib
- for %%i in (*.obj) do pcf %%i
- sigmake -n"%1.lib" *.pat %1.sig
- if exist %1.exc for %%i in (%1.exc) do find /v ";" %%i > abc.exc
- if exist %1.exc for %%i in (%1.exc) do > abc.exc more +2 "%%i"
- copy abc.exc %1.exc
- del abc.exc
- sigmake -n"%1.lib" *.pat %1.sig
- copy %1.sig ..\%1.sig
- cd ..
- del %1_objs /s /q
- rd %1_objs
保存为.BAT文件执行即可
总结:
创建签名步骤如下:
1.获得一个你希望为其创建签名文件的静态库。
2.利用其中的一个FLAIR解析器为该库创建一个模式文件。
3.运行sigmake.exe来处理生成的模式文件,并生成一个签名文件。
4.将新的签名文件复制到<IDADIR>/sig目录中,安装这个文件。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。