zoukankan      html  css  js  c++  java
  • PE文件小窥

    昨天看了fengmk2一篇博文:PE文件格式小炒

    http://www.cnblogs.com/fengmk2/archive/2008/06/23/1228393.html

    这篇博客里用实例分析了,PE文件格式,看得我心里痒痒,也说几句吧,不过我是初学者,水平可能不够,呵呵,大家一起讨论吧。

    我将fengmk2画的结构图加了几个定位说明。

     

     

        Dos_stub由Dos头和一小段Dos程序组成,Dos头的长度为64字节,即从0x00000000处到0x0000003Fh处。而Dos程序的长度不定,因此在Dos头中用偏移量e_lfanew记录file-header的偏移量。下面是Dos头的定义:

     

    通过e_lfanew可以定位到file_header:下面这两种方法均可:

    方法1:

     

    Code

    0x3c即是e_lfanew的起始地址。

    方法2:

     

    列出NT头的定义,可以看出包列文件头和可选文件头两部分

     

    Code
    Code
    Code

          下面我详细分析一下可选文件头,可选文件头非常重要,因此它绝对不是可选的。它包含了模块基地址、代码和数据的大小和基地址、线程堆栈和进程堆的配置等信息。最后一个成员DataDirectory数据表中,含有导入表、导出表、资源和重定位表等等重要的表项,其详细的定义如下:

    Code

    太长了,不想写了,估计也没有人愿意看了,下回再写吧。(^_^)

    小人本潜水在思源的贴边
    ID又多 又有钱
    快活乐无边
    谁知道站总监
    他蛮横不留情面
    他勾结站长目无天
    占我ID夺我钱
    我马甲跟他来翻脸
    反被他来把经验减
    我同学骂他欺新人
    反被他捉进了小黑屋里面
    874了一百遍啊一百遍
    啊 最后他咬舌自尽 遗恨人间
    他还将我和马甲赶出了思源 流落在人间
    我为求回思源
    无奈行乞在贴前
    谁知道站总监他实在太阴险
    知道此情形竟派人来暗算将我发文狂删到0篇
    小人ID强 残命独留全
    可怜马甲他 竟遭删
    为求养ID
    惟有傍人卖身自作践
    一面苦赚钱 一面写诗篇
    发誓把名气显
    手刃总监意志坚啊
    从此总监ID念心间
    我永铭记此仇不供戴天
  • 相关阅读:
    bzoj3832
    bzoj2117
    bzoj1095
    BZOJ 4247: 挂饰 题解
    1296: [SCOI2009]粉刷匠
    3163: [Heoi2013]Eden的新背包问题
    2287: 【POJ Challenge】消失之物
    1334: [Baltic2008]Elect
    2748: [HAOI2012]音量调节
    1606: [Usaco2008 Dec]Hay For Sale 购买干草
  • 原文地址:https://www.cnblogs.com/CUCmehp/p/1423146.html
Copyright © 2011-2022 走看看