![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Цитата:
Есть жгучее желание следить за каждым шагом "чужого" процесса - приблизительно так: Код:
l:SuspendThread(hThread)... MoveProcMemToStream(PID, MS, str);//str - ReturnStringIfError CheckStream(MS); ... Если "Да", то огромное спасибо за то, что хто-чё подскажет... З.Ы. MoveProcMemToStream в оригинале было MoveProcessMemoryToFile (авторы: ЧеловекБорща, mss и GunSmoker - Огр Спс им) |
|
#2
|
||||
|
||||
|
Т.е. просто надо приостановить выполнение процесса?
Ну как вариант - запоминать начальные состояния потоков и суспендить все, при разморозке восстанавливать состояние. А цель то какая? Сделать дампер? |
|
#3
|
||||
|
||||
|
Цитата:
По теме - это называется отладка. Есть аппаратные отладочные регистры, есть флаг Trace, генерирующий исключение после каждой команды. Трассировать из третьего кольца прерывания невозможно, т.к. прерывание отправляется в ядро системы, на нулевое кольцо, и там системе уже не до всяких левых отладчиков. Также нельзя трассировать SysCall'ы. Против отладки есть антиотладочные приемы. Так что полностью автоматически некоторые приложения не отладить. Ежели надо трассировать вообще всё - можно смотреть в сторону эмуляторов, там теоретически это возможно. Но если отладчик на уровне эмулятора - придется как-то фильтровать поток исполнения, т.к. через отладчик будут проходить все процессы и система. Также можно попробовать Syser - ядерный отладчик. У меня он к сожалению не заводится. Пытаться писать такое самому не советую - 147% угробишь систему. И еще - сильно сомневаюсь, что даже не зная толком про прерывания получится сделать вменяемый отладчик и уж тем более уделать уже существующие. OllyDbg неплох, в IDA Pro есть еще и IDC/Pyton скрипты, через которые можно делать все что угодно непосредственно во время отладки (правда несколько медлительны эти скрипты). Последний раз редактировалось Bargest, 26.10.2013 в 17:23. |