| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Подключение к процессу |
| Автор: Alexey68 31.5.2013, 13:50 | ||
| Здравствуйте All! Интересует подключение к процессу (или другой вариант) для получения информации о PE заголовке и т.п. С помощью CreateFile всё нормально, но необходимо именно подключение, а не создание (открытие). Вот мой код:
Как реализовать именно подключение? к выполняющемуся в данный момент модулю. С Уважением Алексей. |
| Автор: Dem_max 31.5.2013, 15:53 |
| Что такое подключение к процессу ??? |
| Автор: Dem_max 1.6.2013, 06:37 | ||
Вот я и спрашиваю что в твоем понимание "подключение" к процессу. Потому что телепаты сейчас в отпуске. |
| Автор: Alexey68 1.6.2013, 14:19 |
| inject, внедрение в адресное пространство чужого процесса без использования dll |
| Автор: Dem_max 1.6.2013, 14:36 |
| WriteProcessMemory() ReadProcessMemory() http://msdn.microsoft.com/en-us/library/windows/desktop/ms681674(v=vs.85).aspx |
| Автор: Alexey68 1.6.2013, 15:24 |
| я неверно описал задачу. Необходимо внедриться в чужой процесс и получить информацию о EP+ ImageBase = OEP, секциях и т.п. В выше описанном мной коде (приведён не полностью) всю эту информацию я получаю через CreateFile, а необходимо внедриться в уже запущенный процесс (после распаковки в память (если файл был упакован)). С WriteProcess и ReadProcess вопросов нет, необходим именно inject без dll. RSDN, Рихтер и т.п. уже смотрел... |
| Автор: DarthTon 1.6.2013, 16:07 |
| Так Вам всё же небходимо внедрение кода или получить информацию о главном модуле ("EP+ ImageBase = OEP, секциях и т.п.") ? Так как для получения этого вовсе не обязательно внедрять свой код. |
| Автор: Alexey68 1.6.2013, 16:12 |
| да необходимо получение сведений о PE модуле отображённом в памяти |
| Автор: DarthTon 1.6.2013, 16:46 |
| CreateToolhelp32Snapshot + Module32First + MODULEENTRY32W::modBaseAddr. После получения базового адреса модуля парсите его PE заголовок используя ReadProcessMemory(). http://msdn.microsoft.com/en-us/library/windows/desktop/ms682489(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms684218(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms684225(v=vs.85).aspx |
| Автор: Alexey68 1.6.2013, 17:13 |
| спасибо, буду разбираться... |
| Автор: Dem_max 1.6.2013, 18:15 | ||
это WriteProcessMemory() ReadProcessMemory() |
| Автор: Alexey68 3.6.2013, 00:33 | ||
И далее отталкиваясь от me32.modBaseAddr использовать смещения при "парсинге" заголовка PE? |