Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение виртуальной памяти другого процесса / 25 сообщений из 26, страница 1 из 2
05.09.2005, 16:46
    #33252304
Чтение виртуальной памяти другого процесса
Вопрос к сведущим — подскажите, плиз, как получить указатель или другим образом считать виртуальную память некоего процесса (известен PID) в ХР/2000. Интересует область кода процесса — text. Заранее благодарен за помощь.
...
Рейтинг: 0 / 0
05.09.2005, 17:06
    #33252384
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Я не специалист по чтению памяти процесса в винде с использованием С. Но вот вопрос: а произвёл ли тот процесс что-то, чтоб разрешить другим читать? Просто в Линухе такая тема есть. Один процесс память предоставляет и пишет туда свои переменные. Другой её присовокупляет и использует в своих целях. Короче процессы срастаются памятью:)
...
Рейтинг: 0 / 0
05.09.2005, 17:11
    #33252391
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Moisha NecromantovichВопрос к сведущим — подскажите, плиз, как получить указатель или другим образом считать виртуальную память некоего процесса (известен PID) в ХР/2000. Интересует область кода процесса — text. Заранее благодарен за помощь.

Если не свой процесс - то толковый пример был у Рихтера "Windows для проффесионалов". В примере кусок Вашего кода инжектировался в адрессное пространство другого процесса.
Если свой - то (в принцепе там же рассмотренно кажись) - шаред мемори.


с уважением
(круглый)
...
Рейтинг: 0 / 0
05.09.2005, 18:26
    #33252557
Чтение виртуальной памяти другого процесса
Процесс чужой, нужен его раздел виртуальной памяти, где хранится загруженный код. Этот код надо просто прочесть и все, ничего в нем не меняя. Нет, не shared memory из линукса, а именно в винХР.
...
Рейтинг: 0 / 0
05.09.2005, 18:50
    #33252596
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
А какова цель этих изысканий? Может проще бинарник разобрать?
...
Рейтинг: 0 / 0
05.09.2005, 19:34
    #33252644
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Какерством тут пахнет:)
...
Рейтинг: 0 / 0
05.09.2005, 19:37
    #33252651
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Я се очень живо представляю область применения: атака на слабо защищённую прогу, которая просит пользователя ввести пароль.

А как идея то красива! Ведь введённый пароль по крайней мере некоторое время будет располагаться в области памяти программы. И если программист не предусмотрел такую фишку, то всегда по одному и тому же смещению относительно начала области проги. Лепота!!!
...
Рейтинг: 0 / 0
05.09.2005, 21:11
    #33252727
IcyCool
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Можно использовать крюки (hooks)
при этом если крюк глобальный, то товоя dll-ка подключается к каждому процессу в системе. поидее т.к. они в одном процессе, проблем с доступом к памяти быть не должно.
авторЯ се очень живо представляю область применения: атака на слабо защищённую прогу, которая просит пользователя ввести пароль.

Вообще крюки сделаны для перехвата событий процессов - можно получать все нажатия клавиш например или перемешений мыши, причем можно все это изменять до подачи главной проге.
Посмотри SetWindowsHookEx
...
Рейтинг: 0 / 0
05.09.2005, 21:21
    #33252732
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Я возился с хуками в Делфе. Это очень сильный и почти всемогущий механизм. Но я с трудом себе представляю, как с их помощью читать произвольную область памяти произвольного процесса.
...
Рейтинг: 0 / 0
05.09.2005, 21:48
    #33252745
IcyCool
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Т.к. глобальные хуки подключают длл-ку с хуком к каждому процессу в контенте этого (чужого) процесса, думаю там уже дело остается только за получением нужного адреса ( хотя на практике этого сам не делал - работал с хуками по человесески - только перехват сообщений)
...
Рейтинг: 0 / 0
06.09.2005, 08:16
    #33252896
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
SarinЯ возился с хуками в Делфе. Это очень сильный и почти всемогущий механизм. Но я с трудом себе представляю, как с их помощью читать произвольную область памяти произвольного процесса.

У Рихтера описано. DLL проецируется в АДРЕСНОЕ ПРОСТРАНСТВО целевого процесса.
...
Рейтинг: 0 / 0
06.09.2005, 12:50
    #33253616
kolobok0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Gluk (Kazan)...У Рихтера описано. DLL проецируется в АДРЕСНОЕ ПРОСТРАНСТВО целевого процесса.

не слышат они...
Выше уже дал им ориентир. Велосипед изопретают...ик..


с уважением
(круглый)
...
Рейтинг: 0 / 0
06.09.2005, 12:53
    #33253628
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Ага, не читатели этт точно :(
...
Рейтинг: 0 / 0
06.09.2005, 13:12
    #33253710
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Еще про кольца защиты не говорили. ИМХО.
...
Рейтинг: 0 / 0
06.09.2005, 17:05
    #33254547
Чтение виртуальной памяти другого процесса
Спасибо за наводку - открываю файл OpenProcess, потом получаю его айди, как бы дальше мне получить инфу о его адресном пр-ве (размер занимаемой вирт. памяти, адрес ее начала, в идеале - сколько под код отведено, где начинается код).
Попытаюсь унять любопытство - область применения - не вирусы, а наоборот
...
Рейтинг: 0 / 0
06.09.2005, 17:21
    #33254603
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Сразу оговорюсь, что если Мойша - не суперпользователь,
то ему будет противостоять вся система безопасности
Windows. Это ключевой момент в предемете дискуссии.

Рихтер, тыча пальцем в уязвимостях винды
публикует сорсы, где он обходит некоторые
рубежи безопасности. Опять-же со ссылкой
на профессионализм самого обходящего и
наличием у оного необходимых прав. Ижнекция,
смена кольца защиты
и т.п. - это все методы,
которые требуют достаточного количества
времени и подготовки.

А стоит ли результат таких усилий? Если вы сисадмин
в сети - то у вас в наличии полный арсенал клав. сканнеров
и пр. зловредных погремушек.

Если вы разработчик - берите в зубы SoftIce или IDA и
разбирайте бинарник на атомы.
...
Рейтинг: 0 / 0
06.09.2005, 17:26
    #33254617
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Внедрение в чужой процесс:
OpenProcess, WriteProcessMemory,CreateRemoteThread . При этом необходимы привилегии SeDebugPrivilege (отладка программ).
В процессе Чужом создается поток, который выполняет необходимые нам действия (перехват или чтение данных).
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
06.09.2005, 17:53
    #33254715
Чтение виртуальной памяти другого процесса
Мойша - суперпользователь - это раз. И процессы выполняются на этой же машине - это два. Так что ремоттреад мне не надо. Я хочу узнать размер image программы в памяти и то, где он, этот имэдж начинается, при том что у меня есть хендл этого процесса.
...
Рейтинг: 0 / 0
06.09.2005, 17:56
    #33254731
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Moisha Necromantovichпроцессы выполняются на этой же машине ... Так что ремоттреад мне не надо.

Моя плакать
...
Рейтинг: 0 / 0
06.09.2005, 18:14
    #33254778
Чтение виртуальной памяти другого процесса
Ну извините, лажу видимо сморозил. Ну не работал я с этим никогда, блин.
...
Рейтинг: 0 / 0
06.09.2005, 18:16
    #33254781
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Рихтера почитай, иначе объяснять что-то бесполезно
...
Рейтинг: 0 / 0
06.09.2005, 18:21
    #33254795
Чтение виртуальной памяти другого процесса
Вы меня наверное не поняли. Мне нужно считать область кода УЖЕ ЗАГРУЖЕННОГО ЗАПУСКНОГО ФАЙЛА. Скажем, получить ее в массиве char* в итоге, как когда мы файл с rb читаем. Неужели это так сложно? Ремоттреад позволяет менять переменные в функциях выполняющегося процесса, как я понимаю, а мне нужно получить образ его в памяти, область .text PE-файла, как хотите. Просто сыро взять и получить шмат бинарной инфы, в которой содержится код запущенного процесса.
...
Рейтинг: 0 / 0
06.09.2005, 18:26
    #33254803
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Разбирайся
...
Рейтинг: 0 / 0
06.09.2005, 20:04
    #33254951
Чтение виртуальной памяти другого процесса
Дааа, работает, но только для моего процесса, а для другого (когда я ставлю VirtualQueryEx(hProcess, ...), hProcess - получено из OpenProcess) нифига не пишет и возвращает ноль на фиг. Я уже себе и привилегии дебага через OpenProcessToken и AdjustTokenPrivileges выбил - все напрасно, ничего VirtualQueryEx не читает....
Что я сделал неправильно? :(
...
Рейтинг: 0 / 0
07.09.2005, 09:35
    #33255355
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Чтение виртуальной памяти другого процесса
Нужно спроецировать эту DLL на целевой процесс. Слушай, книжку почитай, а ???
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение виртуальной памяти другого процесса / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]