-
-
[求助]应用层Hook ZwCreateMutant 过滤互斥体创建 崩溃
-
发表于:
2017-5-26 10:05
4929
-
[求助]应用层Hook ZwCreateMutant 过滤互斥体创建 崩溃
系统是win7 X64
//函数是这样定义的
typedef NTSTATUS(NTAPI *ZWCREATEMUTANT)(
OUT PHANDLE MutantHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN BOOLEAN InitialOwner);
//这个是自己的过滤函数
NTSTATUS NTAPI MyZwCreateMutant(
OUT PHANDLE MutantHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN BOOLEAN InitialOwner)
{
OutputDebugStringW(L"1234567890000"); // ←这条会导致程序崩溃
return fpZwCreateMutant(MutantHandle, DesiredAccess, ObjectAttributes , InitialOwner);
}
工程是Debug工程
MyZwCreateMutant过滤函数里面什么操作也不做完全正常,有互斥体创建也能正常创建,只要加上OutputDebugStringW打印,或memcpy拷贝内存之类的操作的话 有互斥体创建马上就会导致程序崩溃
实验了HOOK几个其他函数MessageBoxW , ZwOpenProcess 不管是OutputDebugStringW和别的操作都没问题,
能正常打印和复制内存
我使用的是MinHook进行挂钩的
[课程]Android-CTF解题方法汇总!