Главная страница
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-1081161096
infom
2004-04-05 14:31
2004.04.25
А какие типы ресурсов бывают вообще?


1-1081235063
jenbond
2004-04-06 11:04
2004.04.25
Проблемма со сборкой проекта


1-1081283134
Феликс
2004-04-07 00:25
2004.04.25
Как перемешать строки


3-1080472821
Крутыш
2004-03-28 15:20
2004.04.25
как грамотно организовать партионный учёт на складе


9-1067955145
delpher_gray
2003-11-04 17:12
2004.04.25
PowerDraw ?? Как и чё ??