关于Hook CreateMutex

时间:2023-03-08 16:07:31
关于Hook CreateMutex

我是个驱动新手,最近学习破解多开。经过一个通宵的百度和摸索,简单的多开kugou用以下代码可以了。

MyNtCreateMutant(
OUT PHANDLE MutantHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN BOOLEAN InitialOwner
)
{ NTSTATUS nStatus;
UNICODE_STRING DestinationString,DestinationString2;
WCHAR WC_MyId;
RtlInitUnicodeString(&DestinationString, L"Kugoo7"); //MSangoClientNew
RtlInitUnicodeString(&DestinationString2, L"Kugou7MainFormMutex"); if (ObjectAttributes && RtlEqualUnicodeString(&DestinationString, ObjectAttributes->ObjectName, ))
{
KdPrint(("Kugoo7\n"));
ULONG MyId = (ULONG)PsGetCurrentProcessId();
KdPrint(("PsGetCurrentProcessId = %u\r\n",MyId)); UNICODE_STRING UnicodeString2={};
UnicodeString2.Buffer = (PWSTR)ExAllocatePool(PagedPool,);
UnicodeString2.MaximumLength = ;
nStatus = RtlIntegerToUnicodeString(MyId,,&UnicodeString2); if ( NT_SUCCESS(nStatus))
{
KdPrint(("转换字串成功! 结果:%wZ\n",&UnicodeString2));
RtlCopyUnicodeString(ObjectAttributes->ObjectName,&UnicodeString2);
return g_pfnCreateMutant(MutantHandle,DesiredAccess,ObjectAttributes,InitialOwner);
}else
{
KdPrint(("转换字串 失败!\n"));
return STATUS_SUCCESS;
} } return g_pfnCreateMutant(MutantHandle,DesiredAccess,ObjectAttributes,InitialOwner);
}