Re: 张老师好,询问关于内核IAT的问题.

WinDbg

张老师好,询问关于内核IAT的问题.


wxl802 2013-05-10, 16:38 下午
张老师好.我想定位内核IAT表的位置.发现 IAT表的位置都是0.(在XP启动,进入桌面时)

我的步骤如下:

0: kd> lm vm nt
start    end        module name
804d8000 80700000   nt         (pdb symbols)          e:\03cracker\01tools\27_win7symbols\ntkrnlmp.pdb\FB6BF595C0344379B369466C1ED25FCB2\ntkrnlmp.pdb
    Loaded symbol image file: ntkrnlmp.exe
    Image path: ntkrnlmp.exe
    Image name: ntkrnlmp.exe
  1B7000 [    B5A2] address [size] of Export Directory
  20609C [      50] address [size] of Import Directory
  207000 [   105BC] address [size] of Resource Directory

0: kd> dds nt+20609C
806de09c  00000000
806de0a0  00000000
806de0a4  00000000


我想到重启目标机器后,系统会暂停在一开始(也就是屏幕黑的时候,我也不知道应该用什么术语来称呼这个时段),那个时间,可能会有数据.

kd> dds nt+20609C
806de09c  0020610c
806de0a0  00000000
806de0a4  00000000
806de0a8  002060ec --->指向  BOOTVID.dll 字符串

果然有.
然后我想到,可能在启动的过程中,有代码清除了这个区域的数据.

所以我 在windbg中打入
ba w1 806de09c  
g
屏幕开始出现XP,登录.桌面.

但整个过程没有自动断下.
我手动断下,发现数据已经被清0了.

问题
1.如果IAT表被清0了.那么ntkrnlmp.exe 如何 找到 导入函数呢?如KDCOM!KDSendPacket.
2.在这个过程中  ba w1 806de09c  无效,而数据已被清除.不知道如何解释这个问题呢?

最后,谢谢张老师.






Re: 张老师好,询问关于内核IAT的问题.


格蠹老雷 2013-05-10, 20:53 下午

!dh nt

    1000 [     26C] address [size] of Import Address Table Directory

kd> dds 83007000+1000 L5
83008000  854804bc PSHED!PshedEnableErrorSource
83008004  85480476 PSHED!PshedSetErrorSourceInfo
83008008  854804f6 PSHED!PshedDisableErrorSource
8300800c  85480544 PSHED!PshedGetInjectionCapabilities
83008010  8548057c PSHED!PshedInjectError

 

Re: 张老师好,询问关于内核IAT的问题.


wxl802 2013-05-11, 13:35 下午
张老师,你这个是在XP进入桌面后,断下,显示的内容吗?
我再去试试.

Re: 张老师好,询问关于内核IAT的问题.


格蠹老雷 2013-05-11, 20:05 下午

是的,其实XP和Win7都一样,你前面看的是导入目录(是_IMAGE_IMPORT_DESCRIPTOR结构),不是IAT

Re: 张老师好,询问关于内核IAT的问题.


wxl802 2013-05-11, 21:33 下午
谢谢,张老师,想不到您又回复了.

对 我查看的是
_IMAGE_IMPORT_DESCRIPTOR
这个结构的 FirstThunk 指向的数组结构才叫 IAT.


我在实体机与虚拟机中都试了,在内核加载之初,_IMAGE_IMPORT_DESCRIPTOR是有内容的,但进入windows之后,就没有了.

我查了位置发现 _IMAGE_IMPORT_DESCRIPTOR 在一个INIT的Section

这个Section 是有 MEM_DISCARDABLE 属性

我猜

应该是这段的内容在使用完之后,可以放弃,

因此这个区域的内容被清0了.

Powered by Community Server Powered by CnForums.Net