图解用工具对PE文件格式做初步研究
工具:
PETool,MiniHex,PEViewer
以本机notepad.exe为研究对象。本机64位,该notepad.exe是64位应用程序。
1 用peviewer打开
PE文件大体包括四部分,DOS头,NT头,节表以及具体的节。下图展示的是前三部分。
2 DOS头
e_magic:一个WORD类型,值是一个常数0x4D5A,用文本编辑器查看该值位‘MZ’,可执行文件必须都是'MZ'开头。
e_lfanew:为32位可执行文件扩展的域,用来表示DOS头之后的NT头相对文件起始地址的偏移。
看下图左方给出的e_lfanew为0x000000E8,在下图右方找到此地址,如右方000000E0所示行的光标处;
起始四个字节是50 45 00 00,和右图的PE头的Signature相符合;
3 文件头
PE文件头的定义:
typedef struct _IMAGE_FILE_HEADER {
WORD Machine;
WORD NumberOfSections;
DWORD TimeDateStamp;
DWORD PointerToSymbolTable;
DWORD NumberOfSymbols;
WORD SizeOfOptionalHeader;
WORD Characteristics;
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
Machine:该文件的运行平台,是x86、x64还是I64等等,可以是下面值里的某一个。
NumberOfSections:该PE文件中有多少个节,也就是节表中的项数。
TimeDateStamp:PE文件的创建时间,一般有连接器填写。
对照下图左方显示和右方光标处,其内容相符合;
4 导入表
自己算下导入表的起始地址,比较难算;用工具看下,如下图;导入表起始地址是
0x00000178
peviewer给出的导入表内容;
看16进制文件中的00000178,与peviewer给出的似乎不符,不过此处还不太理解;
16进制文件和PETool给出的内容是相符合的;
5 导入表中的函数名
试着找下导入的SetWindowText函数的名字在16进制文件中的位置;
什么是Thunk RVA,对相关计算尚不太熟悉;
直接找到0000D640处看看,不是SetWindowText;
用搜索功能找SetWindowText;在如下位置;这个RVA的计算是比较复杂;以后再搞;
链接
http://www.pediy.com/kssd/tutorial/chap8-1-6.htm
http://blog.csdn.net/evileagle/article/details/11693499
图解用工具对PE文件格式做初步研究相关推荐
- 图解使用PowerTool对Windows内核做初步研究探索
PowerTool下载 http://pan.baidu.com/s/1skZx4TZ PowerTool_1.6_PortableSoft.7z 1 系统检测 自动检测了如下安全项: 有个 流氓快捷 ...
- PE文件格式的一些研究
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 作者:朱 ...
- 图解用工具对BHO做初步研究
一 BHO和浏览器劫持 BHO Browser Helper Objects (也被称为 BHOs) 是com组件,扮演着ie插件的角色.BHOs可以在某种程度上定制IE,如:用户交互的修改,网页过滤 ...
- PE文件格式分析-WinHex工具-文件头-32位PE-部分64位PE
文章目录 1.名称来源 2.PE文件基本结构 3.DOS头 4.DOS存根: 5.NT头 5.1.文件头 5.2.可选头 6.节区头表 7.数据目录详解 7.1.导入函数表 7.2.重定位表 8.作者 ...
- “PE文件格式”1.9版 完整译文
标 题: [翻译]"PE文件格式"1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32 链 接: http://bbs.pediy.com ...
- PE文件格式”1.9版 完整译文(附注释)
没看完,先贴上来,以再看! 标 题: [翻译]"PE文件格式"1.9版 完整译文(附注释) 作 者:ah007 时 间: 2006-02-28,13:32 链 接: http:// ...
- PE文件格式系列译文之
PE文件格式系列译文之一---- [翻译]"PE文件格式"1.9版 完整译文(附注释) ==================================== ...
- 【翻译】“PE文件格式”1.9版 完整译文(附注释)
标 题: [翻译]"PE文件格式"1.9版 完整译文(附注释) 作 者: ah007 时 间: 2006-02-28,13:32:12 链 接: http://bbs.pediy. ...
- PE文件格式”1.9版 完整译文
2019独角兽企业重金招聘Python工程师标准>>> PE文件格式系列译文之一---- [翻译]"PE文件格式"1.9版 完整译文(附注释) ========= ...
最新文章
- Android 动画之TranslateAnimation应用详解
- Print All JVM Flags
- 中的实践 中兴_中兴通讯5G智慧治水业务在千岛湖畔下姜村成功实践
- mos 控制交流_电机控制器母线电容的设计选型
- Flex读取XML不刷新问题
- mysql全文检索原理与实例分析
- mysql close conn_mysql CloseConnection问题
- AS3的事件模型 .
- layUI禁用select下拉框
- autocad型源代码_总结一下可以研究的CAD源代码
- 教程:提取微信表情包、给公众号分组、在电脑上看公众号、微信提现免手续费
- 告别晦涩难懂的物理,《张朝阳的物理课》了解一下
- DRILLNET 2.0------第二十三章 井控压井单模型
- java7 调优_JVM故障分析及性能优化系列之七:使用MAT的Histogram和Dominator Tree定位溢出源...
- alios thing 信号量_AliOS Things内核API
- 桌面支持--skype登陆不上
- 小学计算机表格制作教学,《制作表格》~试讲稿~小学信息技术
- 硬盘坏了可以修复吗?硬盘数据恢复方法来了
- 采用ASP.NET使用C#.NET语言开发的在线学生选课系统(源码+数据库+论文)
- java 修改word属性_Java修改/替换Word批注
热门文章
- 使用druid【使用官方的stater】||集成JdbcTemplate
- js中两个感叹号的原理与用法分析
- CTFshow 命令执行 web43
- Simulink仿真 第四节 总线及示波器模块
- eclipse java shell 窗体显示 bat运行不显示_java eclipse中如何实现点击主窗口sShell中的按钮打开另外一个子窗口sShell...
- 【Kaggle-MNIST之路】CNN结构改进+改进过的损失函数(五)
- python:拉格朗日插值实现及求解
- Linux Restart PHP
- 设置placeholder无效解决办法
- 实验二:网络嗅探与欺骗