Показать сообщение отдельно
  #3  
Старый 05.03.2008, 23:34
Navi1982 Navi1982 вне форума
Прохожий
 
Регистрация: 28.01.2008
Сообщения: 12
Репутация: 10
По умолчанию

Значение в игре может быть закодированным. А может ты и не по тому адрессу его пишешь.
...
(посмотрел по внимательнее)
Цитата:
GetMem(buf, 1);
buf^:=Chr(PokeValue);
WriteProcessMemory(HandleWindow, ptr(Address1), buf, NumberOfBytes, write);
1. у тебя функция Chr(PokeValue) возвращает 255, которая пишется в buf размером в один байт (см. GetMem(buf,1).
2. потом по нужному тебе адресу пишется 4 байта с адреса переменной buf, где точно известно что первый байт =255 а остальные три неизвестно что хранят в себе! Собственно тут и есть твоя ошибка.
Ответить с цитированием