C/C++ 介绍的PE文件遍历工具
在前面的笔记中,我总结了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文件遍历工具的更多相关文章
- 破解软件系列-PE文件深入浅出之Section Table节表
我们已经学了许多关于 DOS header 和 PE header 的知识.接下来就该轮到 section table(节表)了.节表其实就是紧挨着 PE header 的一结构数组.该数组成员的数目 ...
- Linux操作系统的文件查找工具locate和find命令常用参数介绍
Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具 locate命 ...
- PE文件介绍 (2)-DOS头,DOS存根,NT头
PE头 PE头由许多结构体组成,现在开始逐一学习各结构体 0X00 DOS头 微软创建PE文件格式时,人们正广泛使用DOS文件,所以微软充分考虑了PE文件对DOS文件的兼容性.其结果是在PE头的最前面 ...
- [系统安全] 十六.PE文件逆向基础知识(PE解析、PE编辑工具和PE修改)
[系统安全] 十六.PE文件逆向基础知识(PE解析.PE编辑工具和PE修改) 文章来源:https://masterxsec.github.io/2017/05/02/PE%E6%96%87%E4%B ...
- putty提供的两个文件传输工具PSCP、PSFTP详细介绍
用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...
- 文件同步工具BT Sync介绍和使用说明
BT Sync介绍 BT 下载,相信大伙儿都知道的.今儿个要介绍的 BT Sync,跟 BT 下载一样,都是 BitTorrent 公司发明滴玩意儿,都是采用 P2P 协议来进行传输. 简而言之,BT ...
- PE文件简单介绍
PE(Portable Execute)文件是WIN32下可运行文件遵循的数据格式,也是反汇编调试不可缺少的文件,常见的pe文件有.exe和.dll文件.本文主要介绍pe文件的结构和虚拟内存地址转换到 ...
- PE文件介绍 (1)
PE文件介绍 PE文件主要是windows操作系统下使用的可执行文件格式,PE文件是指32位的可执行文件也叫做PE32,64位可执行文件叫做PE+或者PE32+ PE文件格式 种类 主扩展名 可执行类 ...
- c++两种字符串赋值方式 并介绍 C语言下遍历目录文件的方式
c++字符串声明:一种是声明字符数组并赋值,另一种是直接声明string类 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #incl ...
随机推荐
- Shiro反序列化漏洞检测、dnslog
目录 信息收集 poc 参考 信息收集 poc # pip install pycrypto import sys import base64 import uuid from random impo ...
- 为 APK 文件增加右键菜单组实现快捷安装
0.结果 1.需求 迫于每次都要打开 Powershell 手动敲 adb install xxx.apk 太麻烦,就想通过注册表搞一个右键菜单,实现快捷安装 apk 的功能. 最后决定先实现三个功能 ...
- 【转载】快速理解android View的测量onMeasure()与MeasureSpec
笔者之前有一篇文章已经使用onMeasure()解决了listview与scollview的显示冲突问题,博客地址如下: onMeasure简单方法 完美解决ListView与ScollView冲突问 ...
- MySql学习---数据库基本类型,事务,多表查询
数据库分类 关系型数据库 行列, 列如Mysql,oracle 通过表和表之间,行和列之间的关系进行数据的存储 非关系型数据库: Redis,MongDb 以对象存储,同过对象的自身属性来决定 表与表 ...
- Spring Security 整合 微信小程序登录的思路探讨
1. 前言 原本打算把Spring Security中OAuth 2.0的机制讲完后,用小程序登录来实战一下,发现小程序登录流程和Spring Security中OAuth 2.0登录的流程有点不一样 ...
- Java 集合框架 03
集合框架·HashSet 和 TreeSet HashSet存储字符串并遍历 * A:Set集合概述及特点 * 通过API查看即可 * 无索引,不可以重复,无序 * B:案例演示 * HashSet存 ...
- 前端学习 node 快速入门 系列 —— 初步认识 node
其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以 ...
- 翻译:《实用的Python编程》04_03_Special_methods
目录 | 上一节 (4.2 继承) | 下一节 (4.4 异常) 4.3 特殊方法 可以通过特殊方法(或者称为"魔术"方法(magic method))自定义 Python 行为的 ...
- Codeforces Round #574 (Div. 2) D1. Submarine in the Rybinsk Sea (easy edition) 【计算贡献】
一.题目 D1. Submarine in the Rybinsk Sea (easy edition) 二.分析 简单版本的话,因为给定的a的长度都是定的,那么我们就无需去考虑其他的,只用计算ai的 ...
- 2019 GDUT Rating Contest II : Problem G. Snow Boots
题面: G. Snow Boots Input file: standard input Output file: standard output Time limit: 1 second Memory ...