首页
论坛
课程
招聘
[原创]inline hook未导出函数PspTerminateProcess
2008-4-3 16:18 34953

[原创]inline hook未导出函数PspTerminateProcess

2008-4-3 16:18
34953
收藏
点赞0
打赏
分享
最新回复 (41)
雪    币: 577
活跃值: 活跃值 (478)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
netwind 活跃值 13 2008-5-22 12:38
26
0
可以参考下 SSDT 恢复的代码
雪    币: 207
活跃值: 活跃值 (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
hfyy 活跃值 2 2008-5-22 12:39
27
0
学习学习
雪    币: 441
活跃值: 活跃值 (44)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
Sysnap 活跃值 14 2008-5-22 12:43
28
0
不过磁盘的代码跟内存的可能不同.....你可以用windbg和IDA实验下....所以特征码相信磁盘的而不是内存的
雪    币: 476
活跃值: 活跃值 (388)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2008-5-22 12:44
29
0
SDTRecover 1.20 里面有完整的code。
你在坛子里搜索下就有了。

得到地址后用strncmp比较一下是不是你关心的NtXXX,是的话就保存,然后传地址到驱动中,也可以写到注册表中,加密下,效果更好。
雪    币: 441
活跃值: 活跃值 (44)
能力值: ( LV12,RANK:600 )
在线值:
发帖
回帖
粉丝
Sysnap 活跃值 14 2008-5-22 12:49
30
0
sudami兄...你那个bin在我机器运行不正常....不知道是什么原因
上传的附件:
雪    币: 476
活跃值: 活跃值 (388)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2008-5-22 12:51
31
0
哦。可能是90210的那个调用方法出问题了。code里面有2个途径,忘记是哪个了~~~
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
loien 活跃值 2008-6-3 12:22
32
0
Sysnap你好又来麻烦你了
你的文章非常好,跟那你学的文章已经基本学明白了。

在这篇文章里我有个小问题,想请教下
在Unload中
_asm
{
CLI
MOV eax, CR0
AND eax, NOT 10000H
MOV CR0, eax

pushad
mov edi, PspTerminateProcess
mov eax, dword ptr Code[0]
mov [edi], eax
mov al, byte ptr Code[4]
mov [edi+4], al
popad

MOV eax, CR0
OR eax, 10000H
MOV CR0, eax
STI
}

你是怎么把数组Code[1],Code[2],Code[3]送给PspTerminateProcess的,我就看懂了
你把code[0],code[4]送给了eax和edi+4呀。
虽然可以用RtlCopyMemory (PspTerminateProcess,Code,5);代替
由于我的汇编上不了桌,只好来请教.

另附,程序测试成功,我在用冰刃Advanced scan是扫描出来,但不一会就蓝屏了.
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yulewanglu 活跃值 2008-6-11 14:51
33
0
--------------------Configuration: inline - Win32 Free--------------------
Compiling with DDK compiler...
src.c
C:\inlinehook\driver\src.c(138) : warning C4047: 'return' : 'PVOID' differs in levels of indirection from 'ULONG'
C:\inlinehook\driver\src.c(241) : warning C4022: 'memcpy' : pointer mismatch for actual parameter 1
C:\inlinehook\driver\src.c(294) : warning C4047: '=' : 'ULONG' differs in levels of indirection from 'PVOID'
c:\inlinehook\driver\src.c(144) : warning C4715: 'GetUndocumentFunctionAdress' : not all control paths return a value
Linking with DDK linker...
---------------------------Build SoftICE Symbols----------------------------
Compuware NM32 Symbol Translator/Loader version 4.3.2
(C) Compuware Corporation, 1996-2004
MODULE=.\objfre\i386\inline.sys
PROMPT=OFF
SoftICE is not active
Translation of C:\inlinehook\Driver\objfre\i386\inline.sys successfully completed

inline.sys - 0 error(s), 4 warning(s)
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Shminow 活跃值 2009-2-6 22:21
34
0
暴力搜索容易被BSOD,建议解析ntosxxx.exe 安全些
雪    币: 135
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kieepog 活跃值 2009-8-2 18:13
35
0
支持sysnap~
雪    币: 30
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
slj 活跃值 2009-12-28 13:06
36
0
楼主我试了下,不过不知道为什么hook成功,但是我试着结束进程,并没有进入MyPspTerminateProcess里面去,不知道为什么。
雪    币: 30
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
slj 活跃值 2009-12-28 13:14
37
0
楼主我还想问下,我把SSDT恢复了,而且测试没inline hook,我刚也测试了,它没inline hook PspTerminateProcess ,但是怎么就是结束不了360,360究竟用了什么技术来保护它自己啊
雪    币: 30
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
drummer 活跃值 2010-2-5 15:23
38
0
08年的帖子,我现在才学习,痛苦啊。
雪    币: 94
活跃值: 活跃值 (13)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
tmxfh 活跃值 2010-2-15 13:07
39
0
有个地方不解,烦劳解释一下:
ZwQuerySystemInformation(SystemModuleInformation,&size, 0, &size);
if(NULL==(buf = (PULONG)ExAllocatePool(PagedPool, size)))

一定要分配同样大小的内存吗?直接读内存不可以吗?
雪    币: 223
活跃值: 活跃值 (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
lasvegas 活跃值 2010-3-1 15:03
40
0
可以不用分配同样大小的块。直接读什么内存?
雪    币: 72
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
msfan 活跃值 2010-6-27 13:10
41
0
学习了,讲的详细
雪    币: 23
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jvb 活跃值 2011-1-21 20:47
42
0
支持支持啊支持支持啊支持支持啊支持支持啊支持支持啊
游客
登录 | 注册 方可回帖
返回