Мне надо прочитать байт из памяти игры который находится по адресу 01D42CFC например это 0F прибавить определённое число например 10
получается 1F и вписать данный байт вместо 0F по адресу...
Вообщем проблема в том что я не знаю как прочитать данный байт..
если кто может выложите сорцы данной функции
или ОБЬЯСНИТЕ как это сделать...
а лучше полностью выложите данную операцию с адресом от { до }
Заранее спс
DWORD BAZE=1D42CFC; // адресс откуда читаем
DWORD val; // куда будем читать (для чтения адресса лучше юзать DWORD_PTR
VirtualQuery((LPCVOID)BAZE,&mbi,sizeof(mbi));
// проверяем память перед чтением/записью
if (&mbi && mbi.State == MEM_COMMIT && mbi.Protect != PAGE_NOACCESS && mbi.Protect != PAGE_GUARD)
{
// читаем из памяти
ReadProcessMemory(GetCurrentProcess(), (LPCVOID)BAZE, &val, sizeof(BAZE), NULL);
// прибавляем 10 к тому что прочитали
val+=10;
// пишем в память
WriteProcessMemory(GetCurrentProcess(), (LPVOID)Last, &val, sizeof(int), NULL);
}
Компилировать на медленном огне, помешивая код
Для чтения памяти другого процесса, заменить GetCurrentProcess() на указательо от OpenProcess( по вкусу
Последний раз редактировалось realavril7; 11.12.2012 в 23:33.