-
-
[原创]我写的idt工具 -- XIDT源码。
-
发表于:
2005-3-14 15:06
17543
-
介绍:
那个"Ollydbg V1.10 2005.3汉化修正版"中的idt tool一点不是很好用,for 2k的不能用于xp, for xp的不能用于2k,且都只能备份一份,不能随心所欲查看和备分,所以我写了这个工具。
主界面上有四个按钮:
show : 查看当前idt.
save : 存档:保存当前的idt到文件。
load : 读档:从文件中读出idt.
write: 将idt写入到系统中!
实现说明:
事实上,我写了一个dll,krmem.dll这个dll的功能很简单,从内核读入内存或向内核写入内存。利用这个功能,就可以写出这个idt工具了。事实上,还可以写出更多的好工具。
krmem.dll导出三个函数:
#define KRIMPORT __declspec(dllimport)
KRIMPORT BOOL WINAPI KmOperation(IN const PVOID pSrc,OUT PVOID pdst,SIZE_T len);
KRIMPORT BOOL WINAPI KReadMemory(IN const PVOID pSrc,OUT PVOID pdst,SIZE_T len);
KRIMPORT BOOL WINAPI KWriteMemory(OUT PVOID pdst,IN const PVOID pSrc,SIZE_T len);
KmOperation:相当于memcpy,只是copy的地址psrc和pdst都可以是内核地址。
KReadMemory:读取内存,它是用KmOperation实现的。
KWriteMemory:写入内存,它也是用KmOperation实现的。
程序通过sidt指令得到idt地址,通过KReadMemory或KWriteMemory实现idt表的读取和写入。
理论上它应该可用于win2k/xp/2003,目前仅在2k上通过。回家再测试2003
2k3下测试有点小问题,要改一下源码:xidt.cpp:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课