21,459
社区成员
发帖
与我相关
我的任务
分享
#define xx __declspec(dllimport)ULONG_PTR __stdcall
xx LdrLoadDll(wchar_t*PathToFile,long Flags,PUNICODE_STRING ModuleName,void**BaseAddess);
xx NtProtectVirtualMemory(HANDLE ProcessHandle,void**BaseAddress,PULONG_PTR ProtectSize,ULONG NewProtect,PULONG OldProtect);
#define DisableLdrLoadDll \
{\
void*p=LdrLoadDll;ULONG_PTR Size=32;ULONG OldProtect;\
if(NtProtectVirtualMemory((HANDLE)-1,&p,&Size,PAGE_EXECUTE_READWRITE,&OldProtect)==0)\
{\
*(unsigned long long*)LdrLoadDll=0xFC2444C7;\
*(unsigned long long*)((ULONG_PTR)LdrLoadDll+8)=0xF82444C7;\
*(unsigned char*)((ULONG_PTR)LdrLoadDll+16)=0xE9;\
*(unsigned int*)((ULONG_PTR)LdrLoadDll+17)=(ULONG_PTR)LdrGetDllHandle-(ULONG_PTR)LdrLoadDll-22;\
NtProtectVirtualMemory((HANDLE)-1,&p,&Size,OldProtect,&OldProtect);\
}\
}