l_inc Dr0%7, это значительный недостаток. Я их очень часто использую. Вот например сейчас запустил, прога перехватывает некоторые функции устанавливая на них хардварный бряк. Просмотреть содержимое отладочных регистров нельзя. Alt+H - пустое окно. Запускаю - происходит останов, хотя в 1.10 останов не происходил, если отладочные регистры не оля изменяла, хз как теперь дебажить. Хотя предыдущая версия сбрасывала часть Dr - контекста при останове, эта версия не сбрасывает, что есть гуд. Не помогает. Открой разделяемую ядром память и посмотри - хоть и окно обновляется, но отображаемые значения показываются не в реальном времени, а те которые были при предыдущем останове. Это очень плохо. Да, это. Было Analysis -> [...] -> Command. Теперь вроде Analysis -> Remove analysis, но для всей секции сразу. Было правой мыши View -> [Список модулей]. Теперь этого вообще нет. Краткое поверхностное знакомство сотладчиком; Из улучшений: - добавили детачь. - останов на первой инструкции диспетчера исключений. Но это не возможно сделать без жестких либо аппаратных точек останова(нужно в ядре перед исполнением Iret взвести TF), не вникал глубоко, но это работает даже при защищённой от записи нтдлл, так что вероятно используются аппаратные точки останова. - Останов по возврату из прерываний. - Закрыли багу с ядерным GUI-калбэком, что позволяет трассировать оконное приложение, но с другой стороны открыли возможность детекта посредством тогоже калбэка. Недостатки: - При входе в процедуру в защищённом от записи модуле пишет "Unable to flush cashe" и вообще виснет, либо завершает процесс. - При запущенном отладчике нечто странное происходит с буфером обмена(залочен) во всей системе. - Не понятно как строку скопировать всю как есть. - Если память в которой проеция модуля не MEM_IMAGE, хотя запись о модуле валидны в загрузчике, в карте памяти и списке модулей он отсутствует. Ужос.. - Багу с модификацией селектора стека так и не пофиксили. - Возврат по KiServiceExit(из инструкции Sysenter) также оставили без изменений(инструкция пропускается), впрочем как и остальное(некоторые тестовые примеры тут http://files.virustech.org/indy/Tracer/detect/). - Разрешили инструкцией Pushfd сохранять реальное значение флажков. - Не закрыли баг с выходом потока из под трассировки и отключением отладчика. - При вызове NtClose с не валидным хэндлом также вызывается ядерный калбэк(KiRaiseUserExceptionDispatcher из которого далее NtRaiseException). - Не известны сервисы с префиксом Zw, ассемблируются только Nt. Короче я оставил версию 1.10
GoldFinch Лично я почти не пользуюсь плагинами... Да и что там... байтик отладки в PEB подредактировать? Всякие командные строки вообще ИМХО нафиг не нужны. Мне легче сделать CTRL+G/MessageBoxA/F2, чем bpx MessageBoxA: ИМХО нагляднее. Свои писать вообще лень. Ну дамп сделать... но в общем прям такого уж смертельного недостатка, чтобы писать: "Она без плагинов зачем", — я не вижу. А улучшений там немало. Clerk А Alt+E (или просто мышей до буквы E дотянуться) не проще? И табличка информативнее, и кликов меньше, то бишь быстрее. У меня было ровно один раз. Сейчас всё нормально. А... В смысле при работающей программе? Так как раз Appearance -> Autoupdate здесь и помогает. Т.е. у меня значения изменяются в реальном времени. Мало того: в 1.1 этого как раз нету. К тому же особой пользы от этой возможности я не вижу, но, если Вам это важно, то тут явное улучшение по сравнению с 1.1. Тут опять-таки по сравнению с 1.1 как раз улучшение: в 1.1 при нажатии Ctrl+E возможности копирования не было (только Paste), а теперь можно и копировать. Лень проверять, но, возможно, поможет Options->Debugging->Assume flat selectors. В каком смысле? call ZwCreateFile, например, прекрасно ассемблируется. А вот с Nt и раньше никогда не ассемблировалось. Ну и Вы перечисляете отчасти те баги, которые и в 1.1 присутствовали. Т.е. 2.0 по меньшей мере не хуже. Улучшений, разумеется, гораздо больше, чем Вы написали. В остальном либо согласен, либо лень проверять. Жалко, пока нет возможности сделать трассировку в обход через аппаратные точки останова... но не такой уж это и большой минус.
Не поможет, тут простым дизасмом не обойтись.) Нет не помогает. В 1.1 если все потоки остановлены при изменении окна, либо если выделять изменяются в нём данные, а в этой версии нет. Открой дамп страницы 0x7FFE0000 и посморти. И как это пользы нет, как мне смотреть что в памяти. Яж не только стек смотрю, я мэппинги, ядро и пр. олей сморю. У меня иначе. 1.1 не ассемблировала Nt, новая не знает про Zw, зато знает Nt, в отличае от предыдущей. Впрочем не столь важно. На счёт плагинов ты прав, толку от них мало. Короче со вкусами не спорят, оставлю ярлычёк(уже 4-й модификации), вдруг пригодится, но всёравно предпочту классику - 1.10.)
Clerk Ну... смотрю... в первый раз проверял на адресах из GetTickCount. Если птичка Autoupdate стоит, то значения меняются в реальном времени. А в 1.1 как раз не меняются. Точнее меняются только тогда, когда я постоянно клацаю в дамп.