|
发表于 2011-12-21 06:18:02
|
显示全部楼层
你看过这两个函数的实现吗?
PsGetCurrentProcess
PsLookupProcessByProcessId
.text:000000014008F150 public PsGetCurrentProcess
.text:000000014008F150 PsGetCurrentProcess proc near
.text:000000014008F150 mov rax, gs:188h ; IoGetCurrentProcess
.text:000000014008F159 mov rax, [rax+70h]
.text:000000014008F15D retn
.text:000000014008F15D PsGetCurrentProcess endp
.text:00000001400A0240 public PsGetCurrentProcessId
.text:00000001400A0240 PsGetCurrentProcessId proc near ; CODE XREF: NtTraceControl-4CC87p
.text:00000001400A0240 ; SeAuditHandleCreation-CC270p ...
.text:00000001400A0240 mov rax, gs:188h
.text:00000001400A0249 mov rax, [rax+3B0h]
.text:00000001400A0250 retn
.text:00000001400A0250 PsGetCurrentProcessId endp
如此简单的代码,人家轻则硬编码写在他的代码里,重则从文件中读取出来,连重定位都不需要
这种函数即使HOOK,能有什么用呢?如果是稍微有点头脑的人的话,就不会用这两个函数,而且要手写实现这两个函数
根本就不会有问题,所以还是别HOOK了。 |
|