- 🟢 13:05 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
- #1
Из С+ в Delphi, Требуется небольшая помощь
Есть кусок программы, написанный на С++. Помогите написать такой же на Delphi.
Есть кусок программы, написанный на С++. Помогите написать такой же на Delphi.
Нам нужно найти в памяти kernelbase.dll, просканировать таблицу импорта, найти адрес импортируемой функции CsrClientCallServer и подменить его новым указателем на заранее подготовленную функцию CsrClientCallServer, которая всегда будет возвращать «успех».
Код:
ULONG NewCsrClientCallServer(PVOID Arg1, PVOID Arg2, ULONG Arg3, ULONG Arg4)
{
*( DWORD *)(( BYTE *)Arg1 + 0x20 ) = 0;
return 0;
}
...
DWORD ImportAddress, OriginalCsrClientCallServer, OldProtect;
ImportAddress = GetImportAddressFromIat(GetModuleHandle("kernelbase.dll"), "CsrClientCallServer");
VirtualProtect(( VOID *) ImportAddress, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &OldProtect);
OriginalCsrClientCallServer = *(DWORD*)ImportAddress;
*(DWORD*)ImportAddress=(DWORD)NewCsrClientCallServer;
...