Нужен пример кода сабжа на Delphi или Ассме. Суть: нужно сделать лоадер для патча в динамически выделяемой протектором памяти. Алгоритм работы такого лоадера-трейсера: запускается процесс в дебаг режиме, брякаемся на вызове VirtuallAlloc, запоминаем из eax возврата начальный адрес выделенного диапазона в памяти, выполняем поиск нужной сигнатуры с этого адреса, находим, патчим пускаем процесс на волю. Использование CreateProcess тут не подходит, т.к. из него получается доступ только к сегменту памяти основного процесса. Может где готовый пример есть?
А это как? Может проще обойтись без отладочного АПИ? Запускаем процесс, цепляем к нему удалённый тред, который перехватывает VirtualAlloc и т.д. В протекторе вообще может быть защита от отладки.
Что-то гугл перестал находить доки в msdn. Только через поиск в самом msdn получилось найти описание.
IceStudent У меня не пашет. 920 результатов и ни одного мсдн-овского. Читал, что этот гугл настраивается под каждого юзера, в кукисах хранит что-то вроде предпочтений каждого пользователя. С некоторых пор из моих предпочтений почему-то исчез msdn. Зато постоянно находятся ссылки на восточные (китайские или японские) форумы. Не иначе как саботаж, хотя я периодически стираю кукисы в эксплорере А саму функцию я нашёл через поисковик, который на msdn.
/off Настраивается, если учётную запись завести. Иначе - просто ближайший сервер (у меня, например, google.com.ua по умолчанию, хотя принудительно можно и на другие заходить). Попробуй google.ru.
CreateProcess возвращает хэндл процесса, в котором Readprocessmemory не видит этого динамически выделенного протектором (Аcпром) адреса. Не доверяя своим возможностям перепробовал также все возможные генераторы лодырей - результат тот же. Для Аспра - это давно известно - на втором срабатывании В цикле периодически делать suspendthread, далее поиск сигнатуры, не нашли - resumethread и т.д. Хотелось бы не обсуждения, как настроить гугл, а ответов по существу.