Показать сообщение отдельно
  #7  
Старый 06.06.2014, 22:58
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

А ты уверен, что строка "добро пожаловать, ник" так и хранится в памяти, а не создается из "добро пожаловать, " + "ник", выводится и тут же уничтожается?
Если говорить о какой-то конкретной игре, то куда надежнее и проще найти место, где используется ник в коде, и использовать это место.
Однако если все же хочешь попытаться найти - то простейший вариант таков: читаем блоки по, например, 1кб (ReadProcessMemory), и ищем в них. Строка короткая, поэтому думаю, можно забить на обработку случая, когда строка на стыке двух читаемых блоков (на стыке страниц, соответственно). Если все же обрабатывать - то проще всего прочитать N, искать в блоке, потом сдвинуть последние Length(str) байт в начало буфера и прочитать с этой позиции N - Length(str) байт, поискать, снова сдвинуть и т.д.
Можно поразбираться с маппингами, мб через них получится.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием