zoukankan      html  css  js  c++  java
  • WindowsPE 延迟加载导入表

    typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR {
        union {
            DWORD AllAttributes;
            struct {
                DWORD RvaBased : 1;             // Delay load version 2
                DWORD ReservedAttributes : 31;
            } DUMMYSTRUCTNAME;
        } Attributes;
    
        DWORD DllNameRVA;                       // RVA to the name of the target library (NULL-terminate ASCII string)
        DWORD ModuleHandleRVA;                  // RVA to the HMODULE caching location (PHMODULE)
        DWORD ImportAddressTableRVA;            // RVA to the start of the IAT (PIMAGE_THUNK_DATA)
        DWORD ImportNameTableRVA;               // RVA to the start of the name table (PIMAGE_THUNK_DATA::AddressOfData)
        DWORD BoundImportAddressTableRVA;       // RVA to an optional bound IAT
        DWORD UnloadInformationTableRVA;        // RVA to an optional unload info table
        DWORD TimeDateStamp;                    // 0 if not bound,
                                                // Otherwise, date/time of the target DLL
    
    } IMAGE_DELAYLOAD_DESCRIPTOR, *PIMAGE_DELAYLOAD_DESCRIPTOR;

     

     

     a00+b0=ab0

     name=4020a0 虚拟地址

    4020a0-400000基地址-2000延迟地址+延迟物理地址=0aa0 name物理地址

     后面就是

    data e00+12c=f2c 文件位置 存放dll 句柄

    下一个位置计算是 f24 

    ImportNameTableRVA 的name

     绑定的延迟导入表 地址表 rva  就在它后面一个

    从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。
  • 相关阅读:
    platform_device和platform_driver
    理解和认识udev
    platform_device和platform_driver
    bzImage的概要生成过程
    shell 字符表
    分析mtk6516如何加入自己的驱动
    理解和使用Linux的硬件抽象层HAL
    bzImage的概要生成过程
    理解和认识udev
    shell 字符表
  • 原文地址:https://www.cnblogs.com/feizianquan/p/15085591.html
Copyright © 2011-2022 走看看