Продавец
- Статус
- Оффлайн
- Регистрация
- 12 Сен 2016
- Сообщения
- 945
- Реакции
- 263
C++:
NTSTATUS __stdcall hooked_nvlddmkm(PDEVICE_OBJECT device, DWORD64 irp)
{
__int64 ioc; // rbx
__int64 o_irp; // rdi
PDEVICE_OBJECT o_device; // rsi
char buffer; // [rsp+20h] [rbp-28h]
ioc = *(_QWORD *)(irp + 184); // IoGetCurrentIrpStackLocation
o_irp = irp;
o_device = device;
if ( *(_DWORD *)(ioc + 24) == 0x8DE0008 ) // ioc->Parameters.DeviceIoControl.IoControlCode == 0x8DE0008
{
sub_745912D0((__int64)&buffer, irp); // // get requested process
//
if ( ((__int64 (__fastcall *)(char *, const char *))strstr_mb)(&buffer, "Game.exe") )// // if this process makes a request
return 0xC0000004; // // return STATUS_INFO_LENGTH_MISMATCH
if ( *(_DWORD *)(ioc + 24) == 0x8DE0008 )
sub_74591C24(o_irp, ioc, (__int64)sub_74591858);// // randomize gpu serial
//
}
return original(o_device, o_irp);
}
реверс этого спуфера https://yougame.biz/threads/132335/