Собственно решил перенести свои правки из хексинга в свою DLL, но словил ряд странных вещей: некоторые из адресов я почему-то не могу перезаписать. Пробовал по-разному:
Код:
WriteProcessMemory(GetCurrentProcess(), dest, &src, countBytes, nullptr);
И так
Код:
DWORD dwProtect = PAGE_READWRITE;
VirtualProtect(dest, countBytes, dwProtect, &dwProtect);
*((BYTE *)(dest)) = src;
VirtualProtect(dest, countBytes, dwProtect, &dwProtect);
В итоге из 28 адресов, которые я патчу, 13 возвращают ошибку. Причем какой-либо закономерности я обнаружить не смог. WriteProcessMemory возвращает 1, но данные не меняет
Есть какие-либо идеи?
Добавлено через 11 минут
И еще кое что: если я изменяю память через Ollydbg, то все меняется нормально. Интересно в чем проблема...