PE文件学习系列一为什么是PE
Q Q:408365330 E-Mail:egojit@qq.com
PE概述:
在从写程序开始就知道exe后缀名。当然不是程序员,看到*.exe这样的都知道是window下的可执行文件。当时有多少人深入去想过这是什么呢??为什么直接双击就会运行??当然站在程序员角度,.exe这个后缀名其实也只是文件,从本质上讲它和.doc文件没什么区别,都是文件。这个就是被称为PE文件的特殊文件,也许,这个时候包括程序员都会说。doc我非常了解,但是PE文件我不了解。其实PE很简单,但是PE又很复杂,简单就是它就是一个文件,复杂,复杂在这种文件有复杂的组织结构。
熟悉PE文件能干什么:
1.你可以用来吹牛,你可以和别人吹你知道exe的本质(当然这个只是开玩笑)
2.通向windows牛人的其中重要的一步(牛人不是多么牛XX,牛人就是勤勤恳恳,埋头像牛一样耕耘技术的人)
2.你可以了解软件加密和加壳的思想,破解最基本就是要了解PE结构
3.当然往另一方面说,这是了解很熟悉Windows系统的第一步,我说的了解和熟悉不是会用Windows。exe程序怎么映射到内存,DLL导入……
4.很多时候也是软件逆向工程的基本思想
5.想成为Windows黑客么??那你必须的精通PE文件
…………
当然学习PE的好处多多,这些当然还有很多是我们熟悉PE文件的绝对理由。
首先我们一起欣赏下PE文件和windows内存的映射关系图

看看这个文件我们知道PE文件就是有这些部分组成的。从下往上看:包括DOS头,PE头,PE表项,PE表内容。这些可以分的很细很复杂。后续我继续学习
。后面我将对这这个图进行学习。
我为什么学习PE:
理由很简单,我喜欢编程。
PE文件学习系列一为什么是PE的更多相关文章
- PE文件学习系列二 DOS头分析
合肥程序员群:49313181. 合肥实名程序员群 :128131462 (不愿透露姓名和信息者勿加入)Q Q:408365330 E-Mail:egojit@qq.com PE文件结 ...
- PE文件学习系列笔记四-C++实现PE文件的分析
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: 首 ...
- PE文件学习系列三-PE头详解
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 最近比较忙 ...
- 【学习】Windows PE文件学习(一:导出表)
今天做了一个读取PE文件导出表的小程序,用来学习. 参考了<Windows PE权威指南>一书. 首先, PE文件的全称是Portable Executable,可移植的可执行的文件,常见 ...
- PE文件学习(1)DOS和NT
大致结构 DOS头和NT头之间通常还有个DOS Stub DOS头 DOS头的作用是兼容MS-DOS操作系统中的可执行文件 一般没啥用 记录着PE头的位置 DOS头定义部分 typedef struc ...
- PE文件学习(2)导入表导出表
转自:evil.eagle https://blog.csdn.net/evileagle/article/details/12176797 导出表是用来描述模块中的导出函数的结构,如果一个模块导出了 ...
- 深入学习PE文件(转)
PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. 基本结构. 上图便是PE文件的基本结构.(注意:DO ...
- PE文件解析 基础篇
PE文件解析 基础篇 来源 https://bbs.pediy.com/thread-247114.htm 前言 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具. 编译器是VS ...
- PE 文件
一.PE文件基本结构 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 二.Section 详解 一个PE文 ...
随机推荐
- OnScrollListener回调分析
new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView ...
- 从零开始学Linux[二]:常用操作:用户组、进程、网络、ssh
摘要:Linux基础学习:创建用户组和用户.软件包管理.磁盘管理.进程管理.前后台进程的切换.网络配置.浏览网页.远程登录ssh 第一节,主要介绍一些简单命令,这节介绍一些日常操作. 1.创建用户组和 ...
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...
- BAT脚本打印空行的使用方法
@echo off echo= echo, echo; echo+ echo/ echo[ echo] echo: echo. echo\ pause 这十种方法可以分为三组,每组的效率依次递减. 至 ...
- Android--Retrofit+RxJava的简单封装(三)
1,继续接着上一篇的讲讲,话说如果像上一篇这样的话,那么我们每一次请求一个结构都要创建一堆的Retrofit对象,而且代码都是相同的,我们可以试试封装一下 先创建一个HttpMethods类,将Ret ...
- java名词解释
依赖注入 DI 面向切面编程 AOP 简单java对象 POJO -- JavaBean(spring称呼) 企业级javabean EJB
- html5,实例开发代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- React高级特性
目录: 容器组件 JSX可展开属性 动画 : CSS3 Transition 默认属性 复用代码:mixin 容器组件 React元素也可以包含其他的子元素,这意味着响应的React组件是一个 容器组 ...
- confluence重置admin密码
复方法: 1. 运行此sql 找到你的管理员帐户: select u.id, u.user_name, u.active from cwd_user u join cwd_membership m o ...
- Stylish: http://bbs.csdn.net/topics/
[id^=google_ads_], [id^=bd_ad_], #cpro_u2392825, [id^=BAIDU_SSP_], .bbs_top_ad, .csdn-toolbar, #topi ...