Главная страница
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.024 c
1-1081142205
Comp
2004-04-05 09:16
2004.04.25
Произвольная форма окна


14-1080584958
Soft
2004-03-29 22:29
2004.04.25
Фальсификация и методология научно-исследовательских программ


3-1080189793
dm37
2004-03-25 07:43
2004.04.25
Корректная обработка доступа к процедурам MS SQL Server


3-1080125571
Внук
2004-03-24 13:52
2004.04.25
Передача сессии извне


14-1079678868
Красная Майка
2004-03-19 09:47
2004.04.25
KIMP - лог встречи