Главная страница
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.022 c
1-1081403999
Tornado
2004-04-08 09:59
2004.04.25
Почему не загружается весь файл?


1-1081512358
Аноним
2004-04-09 16:05
2004.04.25
Удаление головы (очередь)


1-1081332094
Bond
2004-04-07 14:01
2004.04.25
Крупные элементы управления и текст


7-1078327433
IceBeerg
2004-03-03 18:23
2004.04.25
HELP!!! Обои на рабочий стол.


14-1080416440
Undert
2004-03-27 22:40
2004.04.25
Как вам такое зверское письмецо и провёрнутые делишки от меня ?