一 配置环境变量

将link.exe,pcf.exe,sigmake.exe添加进PATH环境变量(选择“我的电脑” 》“属性”》“高级” 》“环境变量”》将文件地址添加进“path”)

二 从lib文件提取obj文件

如果运行link.exe出现

看这篇博客解决问题:https://www.cnblogs.com/Mayfly-nymph/p/11279569.html

1.使用IDA打开LIBC.LIB文件

这些obj文件就是包含在lib中的文件,右键复制。

2.使用cmd打开LIIBC.LIB所在文件夹,运行

link -lib /extract:build\intel\st_obj\strcmp.obj libc.lib

extract后面的地址用刚刚复制的内容,最后加上libc.lib

三 将obj文件制作为pat文件

pcf printf.obj

或者使用

pcf *.obj

三 多PAT文件联合编译SIG文件

单一pat文件联合编译

sigmake printf.pat biu.sig

多pat文件联合编译

sigmake *.pat biu.sig

四 应用sig文件

在计算机中程序的函数调用是通过地址调用的,而sig文件将函数定义包含在了里面,我们引用了sig文件之后,调用函数看到的就是函数名,对代码可读性有很大提升。

1.将制作的sig文件添加到IDA所在文件夹的sig文件夹中

2.这里我们有个程序定义了ShowSig来显示字符串,在汇编程序中,是这样显示的(使用IDA打开)

3. shift + F5添加sig文件

4.右键选择Apply new signature

3.添加之前的sig文件

4.返回刚刚的代码中,可以看到函数名被调用

sig文件制作的更多相关文章

  1. 【逆向工具】IDA使用6-签名文件制作

    0x1 签名文件制作的方法: 找到静态编译的程序库 使用IDA中的fair工具包,对静态库操作,生成特征库(IDA6.8 是flair68.zip) 0x2 步骤 第一步:使用pcf生成对应静态库的p ...

  2. 使用ISO文件制作openstack使用的coreOS镜像

    OpenStack源码交流群: 538850354 本篇文章是使用coreOS ISO文件手动制作openstack使用的qcow2镜像文件,关于coreOS的介绍,可以看这里 使用服务器:cento ...

  3. Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法

    Radmin Server v3.5 汉化破解绿色版(x32 x64通用) 第三版 下载链接: https://pan.baidu.com/s/1qYVcSQo 2016年7月8日更新第三版1.修复在 ...

  4. iOS 服务器端推送证书p12文件制作

    A.苹果服务器地址: Production和development用的push的服务器不同pdev是:$apnsHost = 'gateway.sandbox.push.apple.com';pro是 ...

  5. iOS静态库.a文件制作和导入使用

    iOS静态库.a文件制作: 1.新建Cocoa Touch Static Library工程 新建工程 - 选择iOS-FrameWork&Libary,选择 Cocoa Touch Stat ...

  6. -05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作

    2011-07-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作 ARCAMP软件要进行地统计计算的文件后格式后缀名必须为.shp的文件,网上介绍的方法复杂难懂,那么制作.shp ...

  7. iOS 库文件制作

    一.静态库和动态库的介绍 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链 ...

  8. Help And Manual 帮助文件制作工具

    Help And Manual 简    介 帮助文件制作工具 支持文件格式 26种 其他功能 制作非常专业的使用手册 一个所见即所得的帮助文件制作工具,是市面上功能最强的 WYSIWYG (所见即所 ...

  9. linux bin文件制作

    一 Linux安装文件 Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类, 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文 ...

随机推荐

  1. Invalid operator< assertion error解析

    这两天忙着在准备3月份打PAT考试,许久没有接触刷题了,各种生疏各种忘记,刷题速度那是一个慢,真是为自己智商着急.今天刷题碰到了一个有意思的编程习惯性错误,好几道题都涉及到自定义排序,需要自己重写&l ...

  2. pandas数据读取(DataFrame & Series)

    1.pandas数据的读取 pandas需要先读取表格类型的数据,然后进行分析 数据说明 说明 pandas读取方法 csv.tsv.txt 用逗号分割.tab分割的纯文本文件 pd.read_csv ...

  3. 重启uwsgi

    sudo pkill -f uwsgi -9 uwsgi --ini mysite.uwsgi.ini

  4. centos 6.5 安装 jdk 8

    首先,检查是否已安装jdk,如果有,要先删除 rpm -qa|grep java rpm -e --nodeps filename 然后,从oracle官方网站下载jdk安装包:jdk-8u121-l ...

  5. SpringBoot 参数校验

    一.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  6. QGIS SDK下载

    https://www.e-learn.cn/content/qita/1241748 基于OSGEO4W下载lib包. 并在VS中调用. 这样比直接编译容易一些.可以快速上手.

  7. windows下使用Ant编译Android项目

    1. 安装ant,配置环境变量 2. 执行命令: android update project -p 项目路径 例:android update project -p D:\project\UI_de ...

  8. 树TreeView控件与DataTable交互添加节点(最高效的方法)

    #region "读取树结点从Datatable" /// <summary> /// 读取树结点从Datatable" /// </summary&g ...

  9. Power Strings POJ - 2406

    Power Strings POJ - 2406 时限: 3000MS   内存: 65536KB   64位IO格式: %I64d & %I64u 提交 状态 已开启划词翻译 问题描述 Gi ...

  10. 攻防世界 | string

    #encoding=utf-8 #!usr/bin/python from pwn import * io = remote('111.198.29.45',42643) io.recvuntil(& ...