在前面的笔记中,我总结了Pe结构的一些结构含义,并手动编写了几段PE结构遍历代码,这里我直接把之前的C语言代码进行了封装,形成了一个命令行版的PE文件查看工具,该工具只有20kb,但却可以遍历出大部分PE结构数据,非常实用,分享出来是因为后续教程需要用到解析,请熟练使用其所支持的命令行参数,命令行输入PETools.exe 即可使用。

PE工具下载地址: https://lyshark.github.io/soft/PETools.zip

基本参数介绍: 输入GetPE直接弹出帮助菜单。

检查模块开启的保护: main.exe c://qc.exe --CheckModule

验证模块完整性: 传入一个正在运行进程PID即可,检验模块是否存在可利用的环节。

验证特定模块地址: 例如验证User32.dll中MessageBoxA的地址,可执行:

十六进制加减法计算: 可快速实现十六进制加减法,不用在使用计算器了,方便快捷。

遍历DOS头: GetPE c://lyshark.exe --ShowDosHead

遍历NT头数据: C:\pe>pe.exe ./x86.exe --ShowNtHead

遍历Section节表: C:\pe>pe.exe ./x86.exe --ShowSection

遍历程序中的导入函数: C:\pe>pe.exe ./x86.exe --ShowImportByDll

查询指定DLL中的导入函数: C:\pe>pe.exe ./x86.exe --ShowImportByName USER32.dll

查询全部导入表,导入函数: C:\pe>pe.exe ./ddd.dll --ShowImportAll

查询Export导出表: C:\pe>pe.exe ./ddd.dll --ShowExport

查询重定位表: C:\pe>pe.exe ./ddd.dll --ShowFixReloc

显示所有导入DLL GetPE c://lyshark.exe --ShowImportByDll

显示指定DLL中的导入函数: GetPE c://lyshark.exe --ShowImportByName USER32.dll

显示所有导入函数: GetPE c://lyshark.exe --ShowImportAll

检索指定API是否被引用: GetPE c://lyshark.exe --ShowImportByFunc GetModuleFileNameW

检索数据目录表: GetPE c://lyshark.exe --ShowDataDirectory

完整检索数据目录表:

检索文件导出表: GetPE c://lyshark.dll --ShowExport

检索重定位块: GetPE c://lyshark.dll --ShowFixRelocPage

检索指定重定位块中重定位信息: GetPE c://lyshark.dll --ShowFixRelocRva 00001000

检索全部重定位表: GetPE c://lyshark.dll --ShowFixReloc

尝试修正重定位表: GetPE c://lyshark.dll --RepairFixReloc dump.dll

尝试识别目标指纹: 通过内置特征,尝试识别目标指纹。

写这个东西就是要查手册,根据微软的定义,对其进行解析,不难,就是挺麻烦的,为了后续课程需要,我不得不把这个工具完善起来,稍安勿躁,精彩内容下次安排。

C/C++ 介绍的PE文件遍历工具的更多相关文章

  1. 破解软件系列-PE文件深入浅出之Section Table节表

    我们已经学了许多关于 DOS header 和 PE header 的知识.接下来就该轮到 section table(节表)了.节表其实就是紧挨着 PE header 的一结构数组.该数组成员的数目 ...

  2. Linux操作系统的文件查找工具locate和find命令常用参数介绍

    Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具  locate命 ...

  3. PE文件介绍 (2)-DOS头,DOS存根,NT头

    PE头 PE头由许多结构体组成,现在开始逐一学习各结构体 0X00 DOS头 微软创建PE文件格式时,人们正广泛使用DOS文件,所以微软充分考虑了PE文件对DOS文件的兼容性.其结果是在PE头的最前面 ...

  4. [系统安全] 十六.PE文件逆向基础知识(PE解析、PE编辑工具和PE修改)

    [系统安全] 十六.PE文件逆向基础知识(PE解析.PE编辑工具和PE修改) 文章来源:https://masterxsec.github.io/2017/05/02/PE%E6%96%87%E4%B ...

  5. putty提供的两个文件传输工具PSCP、PSFTP详细介绍

    用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...

  6. 文件同步工具BT Sync介绍和使用说明

    BT Sync介绍 BT 下载,相信大伙儿都知道的.今儿个要介绍的 BT Sync,跟 BT 下载一样,都是 BitTorrent 公司发明滴玩意儿,都是采用 P2P 协议来进行传输. 简而言之,BT ...

  7. PE文件简单介绍

    PE(Portable Execute)文件是WIN32下可运行文件遵循的数据格式,也是反汇编调试不可缺少的文件,常见的pe文件有.exe和.dll文件.本文主要介绍pe文件的结构和虚拟内存地址转换到 ...

  8. PE文件介绍 (1)

    PE文件介绍 PE文件主要是windows操作系统下使用的可执行文件格式,PE文件是指32位的可执行文件也叫做PE32,64位可执行文件叫做PE+或者PE32+ PE文件格式 种类 主扩展名 可执行类 ...

  9. c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式

    c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #incl ...

随机推荐

  1. js 前端MD5加密

    1.引入 <script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script& ...

  2. C++高精度计算(大整数类)

    Java和Pathon可以不用往下看了 C++的基本数据类型中,范围最大的数据类型不同编译器不同,但是最大的整数范围只有[-2^63-2^63-1](对应8个字节所对应的二进制数大小).但是对于某些需 ...

  3. rest framework ViewSet

    ViewSets 路由选择确定要用于一个请求哪个控制器之后,控制器负责做出请求的感并产生相应的输出. - Ruby on Rails的文档 Django的REST框架允许你的逻辑一组在一个类中的相关意 ...

  4. C# 基础 - Enum 的一些操作

    1. int 转换成 enum public enum Suit { Spades, Hearts, Clubs, Diamonds } Suit spades = (Suit)0; Suit hea ...

  5. VMware 虚拟机安装(使用CentOS镜像)

    (1)启动虚拟机,点击"文件"-->"新建虚拟机",选择安装类型,推荐"典型".       (2)选择稍后安装操作系统       ...

  6. mysql建表约束

    --mysql建表约束--主键约束它能够唯一确定一张表中的内容,也就是我们通过某个字段添加约束,就可以是的该字段唯一(不重复)且不为空.create table  user(    id int pr ...

  7. python爬取三国演义的所有章节储存到本地文件中

    #爬取三国演义的全部章节 2 3 import urllib 4 import urllib.request 5 import urllib.parse 6 from lxml import etre ...

  8. SFDC 利用Schema.Describe来取得Picklist所有的选项

    Salesforce的开发语言Apex与Java极为类似.也有封装,基础,多态特性. 并且也能 反射,Object的属性和Field属性. 今天主要记录的是一个需求:Visualforce Page或 ...

  9. 开源一个比雪花算法更好用的ID生成算法(雪花漂移)

    比雪花算法更好用的ID生成算法(单机或分布式唯一ID) 转载及版权声明 本人从未在博客园之外的网站,发表过本算法长文,其它网站所现文章,均属他人拷贝之作. 所有拷贝之作,均须保留项目开源链接,否则禁止 ...

  10. python自动统计zabbix系统监控覆盖率

    脚本主要功能: 1)通过zabbix api接口采集所有监控主机ip地址: 2)通过cmdb系统(蓝鲸)接口采集所有生产主机IP地址.主机名.操作系统.电源状态: 3)以上2步返回数据对比,找出未监控 ...