合肥程序员群:49313181。    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入)
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:

理由很简单,我喜欢编程。

版权:归博客园和Egojit所有,转载请标明出处。

PE文件学习系列一为什么是PE的更多相关文章

  1. PE文件学习系列二 DOS头分析

    合肥程序员群:49313181.    合肥实名程序员群 :128131462 (不愿透露姓名和信息者勿加入)Q  Q:408365330     E-Mail:egojit@qq.com PE文件结 ...

  2. PE文件学习系列笔记四-C++实现PE文件的分析

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 综述: 首 ...

  3. PE文件学习系列三-PE头详解

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 最近比较忙 ...

  4. 【学习】Windows PE文件学习(一:导出表)

    今天做了一个读取PE文件导出表的小程序,用来学习. 参考了<Windows PE权威指南>一书. 首先, PE文件的全称是Portable Executable,可移植的可执行的文件,常见 ...

  5. PE文件学习(1)DOS和NT

    大致结构 DOS头和NT头之间通常还有个DOS Stub DOS头 DOS头的作用是兼容MS-DOS操作系统中的可执行文件 一般没啥用 记录着PE头的位置 DOS头定义部分 typedef struc ...

  6. PE文件学习(2)导入表导出表

    转自:evil.eagle https://blog.csdn.net/evileagle/article/details/12176797 导出表是用来描述模块中的导出函数的结构,如果一个模块导出了 ...

  7. 深入学习PE文件(转)

    PE文件是Win32的原生文件格式.每一个Win32可执行文件都遵循PE文件格式.对PE文件格式的了解可以加深你对Win32系统的深入理解. 一. 基本结构. 上图便是PE文件的基本结构.(注意:DO ...

  8. PE文件解析 基础篇

    PE文件解析 基础篇 来源 https://bbs.pediy.com/thread-247114.htm 前言 之前学习了PE格式,为了更好的理解,决定写一个类似LoadPE的小工具. 编译器是VS ...

  9. PE 文件

    一.PE文件基本结构 上图便是PE文件的基本结构.(注意:DOS MZ Header和部分PE header的大小是不变的:DOS stub部分的大小是可变的.) 二.Section 详解 一个PE文 ...

随机推荐

  1. ios 实现版本更新检查

    注:这里网络请求用的是第三方框架:SVHTTPRequest /* 第一步: 根据应用名称搜索应用,然后根据应用绑定的ID在结果中筛选出我们要找的应用,并取出应用的AppID */ - (void)g ...

  2. RML Utilities for SQL Server

    很早以前有看到过关于使用RML Utilities工具分析SQL Trace(.trc)的文章,但一直没有具体实践.最近接管一台数据库服务器,跟踪出一批高消耗的语句,老大需要跟踪分析报表,罗列出过程( ...

  3. MVC项目中验证码的使用

    这是我记录验证的第二篇文章,之前还有一篇是ashx一般处理程序的. 验证码类: 需要添加两个引用:System.Web.System.Drawing //需要添加两个引用:System.Web.Sys ...

  4. Life is hard

    Life is hard, always so.If there's anything to give you a hard life with sunshine and warmth, please ...

  5. Leetcode: 132 Pattern

    Given a sequence of n integers a1, a2, ..., an, a 132 pattern is a subsequence ai, aj, ak such that ...

  6. datatable动态添加,及填充数据

    DataTable tblDatas = new DataTable("Datas"); tblDatas.Columns.Add("ID", Type.Get ...

  7. jquery一个按钮全选和反选

    1.jquery实现复选框全选和反选的方式有好几种,今天遇到一个问题,只用下边的方式生效:function checkAll(){ var check=$('#check_all').is(':che ...

  8. printk函数日志级别的设置【转】

    本文转载自: 下面执行cat /proc/sys/kernel/printk 打印出的四个数字分别代表: 控制台日志级别.默认的消息日志级别.最低的控制台日志级别和默认的控制台日志级别 只有当prin ...

  9. iocp-socket 服务(借鉴别人的,根据自己的需要改的)未完待续

    #pragma once #include <WinSock2.h> #include <MSWSock.h> #include <Windows.h> #prag ...

  10. Ubuntu16.04搭建LAMP架构服务器

     安装Apache: weirubo@weirubo-VirtualBox:~$ sudo apt-get install apache2 查看Apache版本: weirubo@weirubo-Vi ...