|
[求助]关于Inline hook的问题
自己去网上找个hook引擎来替换下面这个吧,硬盘不小心被我格了。。。 #include <ntddk.h> #include "InlineHook.h" typedef NTSTATUS (*ZWTERMINATEPROCESS)( IN HANDLE ProcessHandle, IN NTSTATUS ExitStatus); ZWTERMINATEPROCESS OldZwTerminateProcess; int ZwTerminateProcessPatchCodeLen = 0; #pragma LOCKEDCODE PVOID ZwTerminateProcessRet; int iProcess = FALSE; #pragma LOCKEDCODE __declspec(naked) NTSTATUS ZwTerminateProcessHookZone(,...) { _asm { _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; _emit 0x90; jmp [ZwTerminateProcessRet]; } } NTSTATUS DriverUnload( IN PDRIVER_OBJECT DriverObject ) { if (iProcess == TRUE) { UnHookApi(L"ZwTerminateProcess",FALSE,0,(PVOID)ZwTerminateProcessHookZone,ZwTerminateProcessPatchCodeLen); } DbgPrint("驱动已经被卸载了\n"); return STATUS_SUCCESS; } NTSTATUS NewZwTerminateProcess( IN HANDLE ProcessHandle, IN NTSTATUS ExitStatus ) { NTSTATUS status; DbgPrint("Hook Success\n"); OldZwTerminateProcess = (ZWTERMINATEPROCESS)ZwTerminateProcessHookZone; status = OldZwTerminateProcess(ProcessHandle,ExitStatus); if( NT_SUCCESS(status)) { return status; } return status; } NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) { int bRet; DbgPrint("驱动已经加载了\n"); DbgPrint("Hello World\n"); DriverObject->DriverUnload = DriverUnload; bRet = HookApi((DWORD)NewZwTerminateProcess,L"ZwTerminateProcess",FALSE,0,(PVOID)ZwTerminateProcessHookZone,&ZwTerminateProcessPatchCodeLen,&ZwTerminateProcessRet); if(!bRet) { DbgPrint("hook ZwTerminateProcess failed\n"); }else{ iProcess = TRUE; } return STATUS_SUCCESS; } |
|
|
|
[求助]开机加载驱动服务 请问有几种办法
可能LZ的意思是说,怎么写一个开机就自启动的驱动程序 |
|
[分享]全新原创Anti-rootkit软件SysReveal,欢迎试用
ARK,RK的这类东西,要奉信一个原则就是,即使自己失败了,也别搞得机器崩溃。。这个是底线吧。。 |
|
[原创]ring0注入ring3的一种新方法
[QUOTE=菊冬;735480]去年写过,你这个代码,微点会报毒. attach过去别分配内存,直接写PE即可. [/QUOTE] 一看注释说明,肯定是sudami的 |
|
[原创]Hook ObReferenceObjectByHandle的另一种框架
我也hook了这个函数,xp ,2003就没有蓝过 |
|
[原创]Hook ObReferenceObjectByHandle的另一种框架
不使用hook 引擎? |
|
[求助]在内核中,如何判断一个指定名称的进程是否存在呢??
EPROCESS ----》 ActiveProcessLinks |
|
[求助]inline hook 蓝屏(求助啊大侠)
你要检查的是 pObject的type,而不是 ObjectType |
|
[求助]inline hook 蓝屏(求助啊大侠)
这样写看下: 抱歉,虚拟机没序列号,不过我估计问题在这个函数里面 NTSTATUS DetourMyObReferenceObjectByHandle( IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType OPTIONAL, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL ) { NTSTATUS status; PVOID pObject; status = OriginalObReferenceObjectByHandle(Handle,DesiredAccess,ObjectType,AccessMode,&pObject,HandleInformation); if((status == STATUS_SUCCESS) && (DesiredAccess ==1)) { if(ObjectType == *PsProcesType) { if(!_strnicmp((char *)((ULONG)(pObject) + 0x174), "notepad",sizeof((char *)((ULONG)(pObject) + 0x174)))) { ObDereferenceObject(pObject); *Object = NULL; return STATUS_INVALID_HANDLE; } }else { *Object = pObject; return status; } } return status; } |
|
|
|
[求助]如何阻止指定程序的运行?
进程创建前拦截,然后读取某一内存地址,当然这个内存地址里的数据是唯一能够证明就是这个文件的。。 |
|
[分享]《另类挂钩-RING3数据包监视》应用 -- 网址过滤+重定向的Delphi实现
我想要的就是这个代码呀 |
|
[分享]《另类挂钩-RING3数据包监视》应用 -- 网址过滤+重定向的Delphi实现
木桩兄能否用C写一个呢,delphi的看不懂。。 |
|
[求助]讨论如何完全隐蔽后台程序(用于正常商业行为)
利用svchost启动dll的有一堆代码。。。。现成的是下一套木马的代码就有了 |
|
[分享]《另类挂钩-RING3数据包监视》应用 -- 网址过滤+重定向的Delphi实现
delphi看不懂。。。C代码就好了。。 |
|
[求助]关于处理过高的IRQL访问可分页内存的蓝屏问题
把全局变量写成局部变量,去掉了spin lock,感觉稳定。。。。 |
|
[讨论]好牛B的360杀毒软件!!
我一般电脑都装个SSM就行了 |
|
[求助]下载安装了新platform sdk,与VC6.0关联的问题
Tools------》Options--------》 Directories |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值