![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| DaGaDa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
Собственно сабж..
Задача... зная хендл какого то процесса найти всю принадлежащую к нему память... (все кто хочет кидаться в меня палками со словами readprocessmemory(...) читать ниже) Вся фишка состоит в том, что мне нужно, не как таковое содежание оперативы, а адреса где располагаются странички занятые процессом, хендл которого я знаю... так как читать любой кусок памяти я могу, прошу указать в каком направлени мне двигаться дальше... Ломаю голову над этим уже очень долго.. |
|||
|
||||
| DronG |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.2.2007 Репутация: нет Всего: нет |
В структуре EPROCESS соответсвующей процессу можно получить доступ к дискрипторам виртуальных адресов, а так же каталогам сраниц, далее таблицам страниц и в них уже можно будет увидеть реальный логический адресс страниц используемых процессом.
В целом очень помогла бы книга М. Русионовича "Внутренне устройство Windows...", могу выслать на мыло электронный вариант. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 12 Всего: 121 |
Зачем это надо?
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| DaGaDa |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
Нужно найти процесс в системе либо системный процесс и скопировать все его данные... Точнее нужны адреса данных.. чтоб когда процесс завершил работу проверить остались ли данные в целом виде или же прога их затерла ... вот такая вот задачка... Добавлено через 8 минут и 58 секунд
Если есть вожможность отпиши кусочек исходника а то я чего то не пойму как выловить EPROCESS относительно процесса ? |
||||
|
|||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
DaGaDa, попробуй описать задачу в целом, не употребляя при этом "умных" слов.
|
|||
|
||||
| Dude03 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.4.2006 Репутация: 1 Всего: 6 |
Дерзай. Хотя могу сказать, что странички постепенно обнуляются по мере возможности. С учетом того, что венда(я про NT) соответствует уровню безопастности С2 по классификации США(вроде бы такому), то процесс не может получить в пользование страницы с чем-то от старого процесса, поэтому при создании процесса необходимые ему страницы обнулятся=). Читаем Руссиновичи&Соломона, ну или на худой конец Хелен Кастер |
|||
|
||||
| DaGaDa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 10.5.2007 Репутация: нет Всего: нет |
еще раз... есть запущенное приложение (чужое) мне нужно найти все адреса страничек памяти в которых есть данные этого чужого процесса... Адреса должны быть физическими ... поэтому вариант с readprocessmemory отпадает... Далее спустя некоторое время чужое приложение заканчивает работу... А я помня где распологалось оно ранее проверяю данные которые раньще принадлежали этому процессу... Вроди бы расписал максимально подробно.. Добавлено через 10 минут и 55 секунд Dude03 Здесь вся ситуация в том что мне нужно узнать узнать остались ли данные после завершения чужго приложения Сразу после его закрытия (чужого приложения)... точнее в тот момент как только приложение будет выгружено почти со 100% вероятностью ОС не успеет переписать странички памяти а если даже и успеет то мне в принципе важно чтоб осталась хотябы одна страница.. ЗЫ Я уже очень долго бьюсь по этому поводу и любые болие или менее реальные идею только приветствую... так как у меня они уже (идеи) заканчиваются |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 1 Всего: 37 |
http://hi-tech.nsys.by/13/ надеюсь поможет
|
|||
|
||||
| Tectoder |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 202 Регистрация: 13.3.2007 Репутация: 7 Всего: 8 |
Ты говоришь, что ты пытался чтото сделать, а что ИМЕННО ты пытался сделать? |
||||
|
|||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 12 Всего: 121 |
Вот в том-то и дело, что многие страницы освободит система, в частности все служебные участки, но при этом многие страницы могут быть и в свопе. Поэтому тут разумное решение найти сложно.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |