zoukankan      html  css  js  c++  java
  • C/C++ 命令行PE结构遍历工具 [首发]

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

    PE工具下载地址: https://share.weiyun.com/QU3iF4ql


    基本参数介绍: 输入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

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

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


    版权声明: 本博客,文章与代码均为学习时整理的笔记,博客中除去明确标注有参考文献的文章,其他文章【均为原创】作品,转载请务必【添加出处】,您添加出处是我创作的动力!

    警告:如果您恶意转载本人文章,则您的整站文章,将会变为我的原创作品,请相互尊重!
  • 相关阅读:
    工欲性能调优,必先利其器(2)- 火焰图
    工欲性能调优,必先利其器(1)
    关于烂代码的那些事(上)
    HTTP 返回码中 301 与 302 的区别
    HTTP 状态码 301 和 302 详解及区别——辛酸的探索之路
    HTTP 状态码之:301、302 重定向
    记一次获得 3 倍性能的 go 程序优化实践,及 on-cpu / off-cpu 火焰图的使用
    Coloring Flame Graphs: Code Hues
    StackOverflow 创始人关于如何高效编程的清单
    Spring Bean的生命周期(非常详细)
  • 原文地址:https://www.cnblogs.com/LyShark/p/12960816.html
Copyright © 2011-2022 走看看