Изменить код на ассемблере в другой программе

Пытался заменить в программе это (ассемблерный код):

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" чтобы произошла полная вставка


Ответы (0 шт):