Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Помогите советом по DebugAPI и архитектуре Windows   Найти похожие ветки 

 
Leoton ©   (2004-02-21 00:15) [0]

Направте на путь истенный.
Возможно ли усыпить процесс, а через некоторое время сново оживить (комп. при этом выключается). Своеобразный Спящий режим, но только для одного процесса (постороннего(!)).
Идея простая до безобразия:
Процесс ловится на отладку и вся его оперативка записывается в
файл, предворительно производится полный просмотр и запись всех его хендлов (окон и кнопок) и имен классов этих окон.
(Промежуточный вопрос: Хендлы процесса хранятся в пространстве памяти проги?) При оживлении, запускаем EXE"шник и сново останавливаем, пытаемся переписать всю его оперативку и чето тварим с хендлами. После чего отправляем в свободное плавонье (по крайне мере для WinXP/.NET есть хор. функция отвязки от отлаживаемого процесса DebugActiveProcesStop). Зарание, списибо.
Пишите на мыло свои мысли по этому поводу. Буду радоваться каждому письму:)


 
Ihor Osov'yak ©   (2004-02-21 01:55) [1]

Нет, это не путь истинный.. Это путь, ведущий никуда..

Подумай только - за каждым хендлом стоит какой-то обьект, довольно часто - обьект ядра.. Ну восстановишь ты дамп процесса, а дальше то что, с этими хендламы? Куда их связывать, если обьектов то нету (к примеру, файлики там всякие, мьютексы, етс).. А если и есть, то как  связать?
Еще.. Адрессное пространство всех процессов в режиме ядра общее, и далеко не хвакт,  что состояние этого простраyства на момент "заморозки" и на момент "разморозки" будет одинаковым.. Вернее совсем хвакт, что не будет одинаковым..

И это только то, что на поверхности..

пс.
> Промежуточный вопрос: Хендлы процесса хранятся в пространстве памяти проги?)

Промежуточный ответ - да. Но с этого ничего не следует, так как хендл - некий абстрактный номер, по которому ядро определяет что в действительности за этим хендлом стоит (естественно, "это" уже раньше ядром создано)...


 
CMPXCHG8 ©   (2004-02-21 03:27) [2]

В принципе возможно, но тогда придется отлавливать создание всех объектов, запоминать их состояние и проч. проч. И при "пробуждении" восстанавливать их. Т.е. Прога создала окно - отловить событие запомнить параметры, а пытаемой программе вернуть хендл, который жестко будет фиксирован, т.е. подменен этим чудо-одладчиком. Вместо объектов системы давать ссылки на объекты отладчика. Но это слишком трудоемкая работа.



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
6-1076274112
ser_ega
2004-02-09 00:01
2004.04.25
Инет


14-1080622115
Dmitriy O.
2004-03-30 08:48
2004.04.25
Набираю команду кодеров.


4-1077187045
_hunter_
2004-02-19 13:37
2004.04.25
Получение информации о железе


1-1081230177
Tornado
2004-04-06 09:42
2004.04.25
Можно ли использовать *.chm-файл?


4-1077807916
Islander
2004-02-26 18:05
2004.04.25
Проблемы с WM_SYSCOMMAND