Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2008, 17:46   #1
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию Редактирование памяти процесса

Как изменить некоторые адреса определённого процесса/потока, зная имя ЕХЕ-файла, редактируемый адрес и новое значение?
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 16.02.2008, 18:44   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

1. Редактирование из третьего кольца: WriteProcessMemory, CreateRemoteThread
Здесь могут возникнуть проблемы с правами доступа и/или хипсами, антивирусами и т.д.
2. Редактирование "с небес": KeStackAttachProcess
Здесь могут возникнуть самые разные проблемы

Последний раз редактировалось B_N; 16.02.2008 в 18:46.
B_N вне форума Ответить с цитированием
Старый 16.02.2008, 18:48   #3
ERASERROR
Форумчанин
 
Регистрация: 15.01.2008
Сообщений: 117
По умолчанию

А можно с примером, допустим game.exe файл, 04C33E24 адрес, 270F значение
ERASERROR вне форума Ответить с цитированием
Старый 16.02.2008, 19:10   #4
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPVOID lpBuffer,
DWORD nSize,
LPDWORD lpNumberOfBytesWritten
);

А Вы не подскажете что указывать в последнем параметре (LPDWORD lpNumberOfBytesWritten).
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Старый 16.02.2008, 19:16   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

ERASERROR, ну ей-Богу, если просто написать в гугле "WriteProcessMemory", то уже на первой странице будет а) ссылка на MSDN, которой уже вполне достаточно для этого, б) гора ссылок на примеры на всех возможных языках, вот, скажем, пример на VB с первой же страницы: http://www.gamerzplanet.net/forums/v...essmemory.html . Если к этому еще и дописать "delphi" и выбрать поиск только на русском - получим сотни примеров. Ну честное слово, нет времени специально писать примеры на все случаи жизни.
B_N вне форума Ответить с цитированием
Старый 16.02.2008, 19:18   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Air Посмотреть сообщение
А Вы не подскажете что указывать в последнем параметре (LPDWORD lpNumberOfBytesWritten).
Можно просто NULL указать. Это адрес переменной, в которую функция запишет, сколько байт ей удалось записать.
B_N вне форума Ответить с цитированием
Старый 16.02.2008, 20:15   #7
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
По умолчанию

Ок, спасибо.
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
редактирование ячейки SveSve Microsoft Office Excel 2 11.04.2008 10:16
Редактирование AntiZero Помощь студентам 2 12.11.2007 18:02
редактирование формы РИЯ Помощь студентам 4 31.10.2007 10:53
редактирование бмп файла kyuzo Мультимедиа в Delphi 7 01.08.2007 14:32