ok100fen 发表于 2010-8-28 23:45:56

半夜三更,紧急呼叫,TA 和 Xiaoly99

在xiaoly99的帮助下,终于找到了原始地址
可是,有一个很奇怪的问题,简直是奇了怪了。
如果单独做,ssdt表中函数的当前地址和原始地址,都能得到
但是和在一起,就不行了,为什么呢?
希望TA和Xiaoly99来救助.

ok100fen 发表于 2010-8-28 23:47:20

本帖最后由 ok100fen 于 2010-8-28 23:49 编辑

当前地址的代码:

#include <ntddk.h>
VOID DDK_Unload (IN PDRIVER_OBJECT pDriverObject);
VOID DDK_Unload (IN PDRIVER_OBJECT pDriverObject)
{

}

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject,PUNICODE_STRING B)
{
extern long KeServiceDescriptorTable;
ULONG SSDT_NtOpenProcess_Addr;
KdPrint(("驱动加载成功"));
_asm
{
push ebx
push eax
mov ebx,KeServiceDescriptorTable
mov ebx,
mov eax,0x7a
shl eax,2
add ebx,eax
mov ebx,
mov SSDT_NtOpenProcess_Addr,ebx
pop eax
pop ebx
}


KdPrint(("SSDT的当前地址=%x",SSDT_NtOpenProcess_Addr));
pDriverObject->DriverUnload=DDK_Unload;
return (1);
}

ok100fen 发表于 2010-8-28 23:48:55

原始地址代码:


#include <ntddk.h>
#include "ntimage.h"
#include "KernelVoid.h"
VOID Unload(IN PDRIVER_OBJECT DriverObject)
{
}
NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{
ULONG XXXX,yyyy,SSDT_NtOpenProcess_Cur_Addr;
XXXX=KvGetSSDTVoid("NtTerminateProcess");
DbgPrint("NtTerminateProcess的原始地址是0x%x.",KvGetSSDTVoid("NtTerminateProcess"));

DriverObject->DriverUnload = Unload;

return STATUS_SUCCESS;
}

ok100fen 发表于 2010-8-28 23:55:13

合在一起,就出错,为什么?
希望高人快快出现~~~~~~
天灵灵,地灵灵~~~~~

#include <ntddk.h>
#include "ntimage.h"
#include "KernelVoid.h"
VOID Unload(IN PDRIVER_OBJECT DriverObject)
{
}
NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{ extern long KeServiceDescriptorTable;
ULONG SSDT_NtOpenProcess_Addr;
ULONG XXXX,yyyy,SSDT_NtOpenProcess_Cur_Addr;
XXXX=KvGetSSDTVoid("NtTerminateProcess");
DbgPrint("NtTerminateProcess的原始地址是0x%x.",KvGetSSDTVoid("NtTerminateProcess"));






_asm
{
push ebx
push eax
mov ebx,KeServiceDescriptorTable
mov ebx,
mov eax,0x7a
shl eax,2
add ebx,eax
mov ebx,
mov SSDT_NtOpenProcess_Addr,ebx
pop eax
pop ebx
}


KdPrint(("SSDT的当前地址=%x",SSDT_NtOpenProcess_Addr));

DriverObject->DriverUnload = Unload;

return STATUS_SUCCESS;
}

Tesla.Angela 发表于 2010-8-29 00:23:47

你干啥不用我给你的代码???

ok100fen 发表于 2010-8-29 00:43:54

你说的这个?
看了,没看懂什么意思
你看看我的这个错在哪里?

驱动版本的在这里:
Tesla.Angela 发表于 2010-8-28 17:06 http://www.m5home.com/bbs/images/common/back.gif

ok100fen 发表于 2010-8-29 17:20:26

等了一天了
页: [1]
查看完整版本: 半夜三更,紧急呼叫,TA 和 Xiaoly99