Сейчас на форуме: -Sanchez- (+8 невидимых) |
eXeL@B —› Основной форум —› Использование WinDbg |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >> |
Посл.ответ | Сообщение |
|
Создано: 02 марта 2011 12:29 · Поправил: DenCoder · Личное сообщение · #1 Странно - топики с вопросами по использованию Ida, Syser есть, а по использованию WinDbg нет. Понимаю, что он более менее документирован, но в его документации черт ногу сломит и в его статьях нередко нет перекрестных ссылок. Хотя сами вопросы были в других темах... Предлагаю здесь задавать вопросы по использованию отладчика WinDbg. Собственно, я первый вопрос задам: Возникла задача, суть которой проверить предположение, что р0-файловый монитор(драйвер) отлавливает все обращения к файлу, выполняет некоторые проверки, и если условия выполняются, то передает команду (возможных схем много) р3-службе(процессу), в следствие которой эта служба открывает тот же файл. Многочисленные поиски по chm-файлу и переносы ссылок во вкладки ie, bp <адрес инструкции обращения к сервису ZwCreateFile> "dd /c 1 @esp + 8 L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p); bp /1 /p <EPROCESS службы> nt!ZwCreateFile \"dd /c 1 @esp + 0xC L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p)\"; g" Команда установки точек останова еще будет улучшаться, суть не в этом! Использование псевдорегистра $p, который дает последний вывод команд d*- тормозит весь процесс на секунду-две. В итоге составная команда dd /c 1 @esp + 8 L1; dt nt!_OBJECT_ATTRIBUTES ObjectName @@masm($p); - не лучший способ достижения описанной цели. Вопрос: можно ли заменить более быстрым аналогом в WinDbg ? ----- IZ.RU | Сообщение посчитали полезным: stereo2013 |
|
Создано: 26 октября 2017 19:11 · Личное сообщение · #2 |
|
Создано: 26 октября 2017 21:22 · Личное сообщение · #3 |
|
Создано: 26 октября 2017 21:45 · Поправил: difexacaw · Личное сообщение · #4 ARCHANGEL Виндебаг это мощный инструмент, у него коммандный интерфейс и он нужен для решения сложных задач. Олли это юзер отладчик, в нём кнопки жать может любой ньюби, для использования сабжа нужно глубокое знание архитектуры. Виндебаг нужен для решения особых задач, обычно он не нужен. Я например не помню когда последний раз было необходимо использовать столь мощный инструмент. На счёт лога - не пойму что в этом такого, что можно обсуждать. ----- vx |
|
Создано: 26 октября 2017 22:22 · Личное сообщение · #5 |
|
Создано: 26 октября 2017 23:12 · Личное сообщение · #6 sendersu Ну как не бэктрейс когда бэктрейс. Только чтобы был backtrace, нужно вначале trace запустить. Попробуйте запустить трассировку, а потом обратную трассировку и смотрите на значения регистров - вот удивитесь. difexacaw Виндебаг это мощный инструмент, у него коммандный интерфейс и он нужен для решения сложных задач. Всё относительно. Сложный он и мощный, если его нужно написать. А команды в нём выполнять можно также особо ничего не зная, как и кнопки в Олли жать. VOLKOFF Кстати сам TTD Что такое TTD? ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 26 октября 2017 23:48 · Личное сообщение · #7 |
|
Создано: 27 октября 2017 00:01 · Личное сообщение · #8 |
|
Создано: 27 октября 2017 00:21 · Личное сообщение · #9 |
|
Создано: 27 октября 2017 12:16 · Поправил: mak · Личное сообщение · #10 ARCHANGEL пишет: VOLKOFF Да, просто запоминание. Но вот архитектура не даёт делать аппаратный бэктрейс. Или я чего-то не знаю? С удовольствием вас послушаю. Эту тему ещё давно обсуждали, Replay Debug создаёт копию процесса типа Fork команда, если использовать Виртуализацию, то можно даже ядро отлаживать в таком виде. Архитектура не даёт, но это и не нужно. Обратная трасировка записанного контекста - это один из видов обратной трасировки. Есть ещё Dynamic Slicing, когда используют конкретные участки, т.е. обратная трасировка имеет разные техники. Что конкретно предоставили МС можно посмотреть ведь внутри, т.к. не ясно, используют ли они полный слепок программы или же только нарезку блоков. ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube | Сообщение посчитали полезным: plutos |
|
Создано: 27 октября 2017 12:38 · Личное сообщение · #11 mak касательно ядра хз.. а вот бек трейс алго, вполне реально.. это банально построение трассы и потом читать ее на оборот.. тут ниче секретного нету.. примерно тоже самое что и взлом через покрытие кода.. "по касперскому" ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... |
|
Создано: 28 октября 2017 18:26 · Поправил: difexacaw · Личное сообщение · #12 |
|
Создано: 28 октября 2017 22:19 · Личное сообщение · #13 |
|
Создано: 28 октября 2017 23:49 · Поправил: VOLKOFF · Личное сообщение · #14 difexacaw пишет: апп выполняется под визором/гпв и можно накопить любую трассу Ну для простоты жизни (и в простых случаях) можно накопить и с Code Coverage Tool (или пин), которым обычно собираем трассу для того же Тотальная виртуализация часто бывает излишней и только добавляет работы, хотя некоторые шпроты можно только так и потрейсить... Чисто для сисколов иногда удобно System Call Tracer поюзать, или аналоги, хотя это уже больше из разряда "удобняшек". |
|
Создано: 29 октября 2017 00:33 · Личное сообщение · #15 |
|
Создано: 29 октября 2017 00:47 · Поправил: VOLKOFF · Личное сообщение · #16 Ога, этот. Можно еще Другие тулзы которые событийные подписки используют тоже есть годные, да и де-факто работают в кернелмоде. Только все это оффтоп однако... |
|
Создано: 29 октября 2017 01:51 · Поправил: difexacaw · Личное сообщение · #17 ARCHANGEL Нет матчасти, техника предельно проста - выборка(instruction/data fetch) - трансляция - эмуляция. Нужен полноценный декодер инструкций, тот же пин например. Я не считаю такой подход годным, если не используется гпв, те полная виртуализация, то лишь прямое исполнение(dye(dynamic emulation)) актуально, как по причине профайла, так и совместимости. При этом выполняется лишь частичная эмуляция - только ветвлений, поток инструкций выполняется напрямую. Добавлено спустя 32 минуты ARCHANGEL Наверно нужно добавить что dye в отличие от обычного локального гпв даёт гарантию стабильности, так для многих задач вероятный анстаб(ошибки эмуляции) просто не допустим фундаментально ----- vx |
|
Создано: 29 октября 2017 02:46 · Поправил: plutos · Личное сообщение · #18 indy пишет: Опишу вам ключевые принципы. Но вы должны понимать что данная тема оверхед, она не может быть раскрыта в виде текущего обсуждения, она слишком сложна. Эта тема - следующая публикация. Почему вы думаете что где то можно почитать ? Вы про это всё нигде не почитаете. где именно можно найти "следующую публикацию"? Или даже искать бесполезно? ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 29 октября 2017 02:59 · Личное сообщение · #19 |
|
Создано: 29 октября 2017 03:12 · Личное сообщение · #20 difexacaw У тебя идеи хорошие но выражать их ты не умеешь и некоторым людям тебя вообще не понять ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: ajax |
|
Создано: 29 октября 2017 03:19 · Поправил: plutos · Личное сообщение · #21 difexacaw пишет: но я сомневаюсь на счёт актуальности, так как всё обосрут как обычно отчего же? Как раз напротив, было бы очень интересно ознакомиться и поучиться. Если будет (или есть уже) что-то систематезированое, то пожалуйста выкладывайте! Даже если оно сырое, то это уже что-то. Люди будут задавать вопросы, что-то будет добавлено, что-то уйдет, а там рукой подать и до серьезной публикации или даже книги. Тема нужная, интересная, материалов крайне мало, так что - ждем! ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 29 октября 2017 03:52 · Личное сообщение · #22 |
|
Создано: 29 октября 2017 04:01 · Поправил: difexacaw · Личное сообщение · #23 |
|
Создано: 29 октября 2017 15:30 · Личное сообщение · #24 difexacaw пишет: В планах закончить разработки и отписать Intel для реализации в железо. Пока не научишься выражать свои мысли в академическом стиле нет смысла кому то что то слать, это в первую очередь касается работоспособности самого алгоритма, должно быть формальное доказательство, никто не будет разбираться с кодом, сам код вторичен, хотя и желателен. |
|
Создано: 29 октября 2017 15:37 · Личное сообщение · #25 |
|
Создано: 04 ноября 2017 20:08 · Поправил: DenCoder · Личное сообщение · #26 |
|
Создано: 04 ноября 2017 20:22 · Личное сообщение · #27 |
|
Создано: 04 ноября 2017 21:24 · Личное сообщение · #28 |
|
Создано: 06 ноября 2017 10:38 · Личное сообщение · #29 |
|
Создано: 06 ноября 2017 13:10 · Личное сообщение · #30 |
|
Создано: 07 ноября 2017 01:35 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >> |
eXeL@B —› Основной форум —› Использование WinDbg |