Изменить код на ассемблере в другой программе
Пытался заменить в программе это (ассемблерный код):
inc [edi+24]
На это:
add [edi+24],2000
Пробовал вот что:
void PatchEx(HANDLE proc, LPVOID dest, LPCVOID src, int size)
{
DWORD oldProtect;
VirtualProtectEx(proc, dest, size, PAGE_EXECUTE_READWRITE, &oldProtect);
WriteProcessMemory(proc, dest, src, size, 0);
VirtualProtectEx(proc, dest, size, oldProtect, 0);
}
Смотрел за процессом через Cheat Engine, получалась белеберда и крашилась игра
Как это можно сделать?
Я так понял прийдется еще выделить память под ",2000" чтобы произошла полная вставка