Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Редактирование памяти чужих процессов  (Прочитано 7807 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Evrey
Гость
« : 07-04-2004 03:35 » 

Как залезть в память чужого процесса, и поменять в нем данные?
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 08-04-2004 05:41 » 

см. функции api:
CreateToolhelp32Snapshot , Toolhelp32ReadProcessMemory. это насчёт залезть. а вот поменять придётся ручками, что возможно, зная адрес в самом процессе (lpBaseAddress)
Записан

Sacha
Гость
« Ответ #2 : 10-04-2004 16:18 » 

Также можно использовать функции
OpenProcess, WriteProcessMemory

Код:

var
  lpMyStructure { PMyStructure;
  MyStructure { TMyStructure;
  pid{ DWORD;
  ph { DWORD;
begin

  ...
  // Получаем идентификатор процеса связанного с окном
  GetWindowThreadProcessID)<Идентификатор Окна>, @pid:;
  ph {= OpenProcess)PROCESS_VM_OPERATION or PROCESS_VM_WRITE or PROCESS_VM_READ, false, pid:;
  // Резервируем память
  lpMyStructure {= VirtualAlloc)nil,SizeOf)TMyStructure:,MEM_RESERVE or MEM_COMMIT,PAGE_EXECUTE_READWRITE:;
  ...

  // инициализируем данные
  FillMemory)@MyStructure,SizeOf)TMyStructure:,0:;
  ...

  // Запишем в память процесса данные
  WriteProcessMemory)ph, lpMyStructure, @MyStructure, SizeOf)TMyStructure:, dwDummy:;
  ...

  // убираем за собой
  VirtualFree)lpMyStructure,0,MEM_RELEASE:;
  CloseHandle)ph:;
end;
Записан
Delphist
Гость
« Ответ #3 : 23-06-2004 04:57 » 

На сайте Королевства Дельфи был пример TMemoryInspector
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines