能力值:
( LV13,RANK:420 )
|
-
-
2 楼
我以前也试过,将一个句添加 HANDLE_FLAG_PROTECT_FROM_CLOSE 属性再关闭。不过有SOD在,这些小伎俩都没什么作用了
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
from ob\Obclose.c
if (PreviousMode != KernelMode) {
if ((NtGlobalFlag & ***_ENABLE_CLOSE_EXCEPTIONS) ||
(CurrentProcess->DebugPort != NULL) ||
(ObjectTable->DebugInfo != NULL)) {
if (!KeIsAttachedProcess()) {
return KeRaiseUserException (STATUS_INVALID_HANDLE);
} else {
return STATUS_INVALID_HANDLE;
}
}
|
能力值:
( LV9,RANK:230 )
|
-
-
4 楼
非常好,受教了
|
能力值:
( LV12,RANK:760 )
|
-
-
5 楼
忽略一切异常之后,还有什么能对抗?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
看不懂,过来膜拜!
|
能力值:
( LV9,RANK:230 )
|
-
-
7 楼
有些壳就是靠SEH解密的,都忽略了,看你怎么解
|
能力值:
( LV13,RANK:420 )
|
-
-
8 楼
想靠CloseHandle异常来解密那应该是不可能的,因为在没有调试器的情况下,根本不会抛出异常。
你所说的靠SEH来解密的壳是指那些利用读写非法内存或者除零之类的异常吧,这些异常即使在OD里选择忽略了,handler依然会执行,只是没有通知你而已。所以不会有无法解密的情况。
|
能力值:
( LV9,RANK:230 )
|
-
-
9 楼
壳利用这个跑飞了,这怎么办?是不是这样我也不太清楚。
偶,对不起,那里的“解”,我是说脱壳的意思
|
能力值:
( LV9,RANK:230 )
|
-
-
10 楼
这个我知道,文章里开头不是写了嘛,我是说的是那些加密壳壳
|
能力值:
( LV15,RANK:2473 )
|
-
-
11 楼
放bin出来看看谁的调试器跑不了
|
能力值:
(RANK:1130 )
|
-
-
12 楼
code from fengyue.sys
NTSTATUS
Hooked_NtClose( IN HANDLE Handle)
{
NTSTATUS status;
PVOID pObject = NULL;
if(!bInBlackListByEProcess(PsGetCurrentProcess())) //不是黑名单
return ((pfnNtClose)fiNtClose.uRealAddr)(Handle);
if(NT_SUCCESS(ObReferenceObjectByHandle(Handle, GENERIC_READ, 0, KernelMode, &pObject, NULL)))
{
ObDereferenceObject(pObject);
status = ((pfnNtClose)fiNtClose.uRealAddr)(Handle);
}
else
{
status = STATUS_INVALID_HANDLE;
}
return status;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
求楼上代码。。
|
能力值:
( LV9,RANK:230 )
|
-
-
14 楼
这个真是釜底抽薪
|
|
|