zoukankan      html  css  js  c++  java
  • 搜索PEB结构获取Kernel32.dll基址

    TEB偏移0x30处,即FS:[0x30]地址处保存着一个指针,指向PEB,PEB结构的偏移0xC处保存着另外一个指针ldr,该指针执行PEB_LDR_DATA

    image

        该结构的后三个成员是指向LDR_MODULE链表结构中相应三条双向链表头的指针,分别是按照加载顺序、在内存中地址顺序和初始化顺序排列的模块信息结构的指针。

    image 

        Peb->Ldr->InitializationOrderModuleList指向按照初始化顺序排序的第一个LDR_MODULE节点的InInitializationOrderModuleList成员的指针,在WinNT平台下,该链表头节点的LDR_MODULE结构包含的是NTDLL.DLL,而链表的下一个节点所包含的就是Kernel32.dll相关的信息。

      汇编核心代码:

    MOV EAX, DWORD PTR FS:[30] ;获取PEB基址 
    MOV EAX, DWORD PTR DS:[EAX+C] ;获取PEB_LDR_DATA结构指针 
    MOV ESI, DWORD PTR DS:[EAX+1C] ;获取InInitializationOrderModuleList成员指针 
    LODS DWORD PTR DS:[ESI] ;获取双向链表当前节点的后继指针 
    MOV EBX, DWORD PTR DS:[EAX+8] ;取其基地址,该结构当前包含的是kernel32.dll
    作者:Y4ng
    出处:http://y4ng.cnblogs.com/
    文章版权属于Y4ng受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者信息及本声明!
  • 相关阅读:
    树状数组
    hibernate hql where语句拼接工具类
    Unit Testing of Spring MVC
    Unit Testing of Spring MVC Controllers1
    查询时间不能超过90天
    实现日期比较
    Criteria查询
    楼房重建 线段树
    [SDOI2009]HH去散步 矩阵乘法
    [SDOI2014]数表 莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/Y4ng/p/2315883.html
Copyright © 2011-2022 走看看