Сейчас на форуме: -Sanchez- (+8 невидимых)

 eXeL@B —› Основной форум —› Использование WinDbg
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
Посл.ответ Сообщение


Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 26 октября 2017 19:11
· Личное сообщение · #2

VOLKOFF
Так в Олли такое было сразу. Минус на клаве жмём и радуемся. Обратная трассировка (BackTrace) или как-то так называлось.

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 26 октября 2017 21:22
· Личное сообщение · #3

Минус в Олли - ето пойди назад по истории навигации...... ето совсем не BackTrace.
такое помнится токо SoftIce (RIP) умел




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 26 октября 2017 21:45 · Поправил: difexacaw
· Личное сообщение · #4

ARCHANGEL

Виндебаг это мощный инструмент, у него коммандный интерфейс и он нужен для решения сложных задач. Олли это юзер отладчик, в нём кнопки жать может любой ньюби, для использования сабжа нужно глубокое знание архитектуры. Виндебаг нужен для решения особых задач, обычно он не нужен. Я например не помню когда последний раз было необходимо использовать столь мощный инструмент.
На счёт лога - не пойму что в этом такого, что можно обсуждать.

-----
vx




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 26 октября 2017 22:22
· Личное сообщение · #5

ARCHANGEL пишет:
было сразу

Ни разу не "сразу" Вообще разные вещи.

Кстати сам TTD в дебагере был реализован еще десяток лет назад и использовался инженерами микрософт внутри компании и даже сейчас они его не опенсурсят.
Также обещали его завезти и в апдейте VS 2017.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 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.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 26 октября 2017 23:48
· Личное сообщение · #7

ARCHANGEL пишет:
Что такое TTD?

Time Travel Debugging

А разве олькин трейс это не простое запоминание контекста процессора на каждом шаге?
TTD пишет состояния процесса для всех его потоков и потом дает реплеить в обе стороны и автоматически чекать по разному.




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 27 октября 2017 00:01
· Личное сообщение · #8

ARCHANGEL пишет:
А команды в нём выполнять можно также особо ничего не зная, как и кнопки в Олли жать.


в общем-то это верно, но все же нужно знать, какие именно команды отдавать, если хочешь добиться чего-то полезного.

-----
Give me a HANDLE and I will move the Earth.





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 27 октября 2017 00:21
· Личное сообщение · #9

VOLKOFF

Да, просто запоминание. Но вот архитектура не даёт делать аппаратный бэктрейс. Или я чего-то не знаю? С удовольствием вас послушаю.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 27 октября 2017 12:16 · Поправил: mak
· Личное сообщение · #10

ARCHANGEL пишет:

VOLKOFF

Да, просто запоминание. Но вот архитектура не даёт делать аппаратный бэктрейс. Или я чего-то не знаю? С удовольствием вас послушаю.


Эту тему ещё давно обсуждали, Replay Debug создаёт копию процесса типа Fork команда, если использовать Виртуализацию, то можно даже ядро отлаживать в таком виде. Архитектура не даёт, но это и не нужно. Обратная трасировка записанного контекста - это один из видов обратной трасировки. Есть ещё Dynamic Slicing, когда используют конкретные участки, т.е. обратная трасировка имеет разные техники. Что конкретно предоставили МС можно посмотреть ведь внутри, т.к. не ясно, используют ли они полный слепок программы или же только нарезку блоков.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube


| Сообщение посчитали полезным: plutos

Ранг: 488.1 (мудрец), 272thx
Активность: 0.350
Статус: Участник

Создано: 27 октября 2017 12:38
· Личное сообщение · #11

mak касательно ядра хз.. а вот бек трейс алго, вполне реально.. это банально построение трассы и потом читать ее на оборот.. тут ниче секретного нету.. примерно тоже самое что и взлом через покрытие кода.. "по касперскому"

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 28 октября 2017 18:26 · Поправил: difexacaw
· Личное сообщение · #12

VodoleY

Покрытие кода" - эта муть работает просто, апп выполняется под визором/гпв и можно накопить любую трассу, любую выборку данных и вообще любое событие. В таком виде теряет смысл юзер дебаг. Не используйте понятие покрытия в обычном обсуждении, это не уместно.

-----
vx





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 28 октября 2017 22:19
· Личное сообщение · #13

difexacaw
Я хочу повторить такое:
апп выполняется под визором/гпв и можно накопить любую трассу

Можете посоветовать что-то почитать на эту тему?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 28 октября 2017 23:49 · Поправил: VOLKOFF
· Личное сообщение · #14

difexacaw пишет:
апп выполняется под визором/гпв и можно накопить любую трассу

Ну для простоты жизни (и в простых случаях) можно накопить и с Code Coverage Tool (или пин), которым обычно собираем трассу для того же --> Lighthouse <--.
Тотальная виртуализация часто бывает излишней и только добавляет работы, хотя некоторые шпроты можно только так и потрейсить...

Чисто для сисколов иногда удобно System Call Tracer поюзать, или аналоги, хотя это уже больше из разряда "удобняшек".




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 29 октября 2017 00:33
· Личное сообщение · #15

VOLKOFF пишет:
Чисто для сисколов иногда удобно System Call Tracer поюзать


Хочу уточнинить, это вот этот:
http://drmemory.org/strace_for_windows.html
от Dr. Memory?

-----
Give me a HANDLE and I will move the Earth.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 29 октября 2017 00:47 · Поправил: VOLKOFF
· Личное сообщение · #16

Ога, этот.
Можно еще fibratus потыкать, такие штуки как NtTrace и иже с ним, уже по другому работают, там не оч интересно.
Другие тулзы которые событийные подписки используют тоже есть годные, да и де-факто работают в кернелмоде. Только все это оффтоп однако...




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 октября 2017 01:51 · Поправил: difexacaw
· Личное сообщение · #17

ARCHANGEL

Нет матчасти, техника предельно проста - выборка(instruction/data fetch) - трансляция - эмуляция. Нужен полноценный декодер инструкций, тот же пин например. Я не считаю такой подход годным, если не используется гпв, те полная виртуализация, то лишь прямое исполнение(dye(dynamic emulation)) актуально, как по причине профайла, так и совместимости. При этом выполняется лишь частичная эмуляция - только ветвлений, поток инструкций выполняется напрямую.

Добавлено спустя 32 минуты
ARCHANGEL

Наверно нужно добавить что dye в отличие от обычного локального гпв даёт гарантию стабильности, так для многих задач вероятный анстаб(ошибки эмуляции) просто не допустим фундаментально --> Link <--

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 29 октября 2017 02:46 · Поправил: plutos
· Личное сообщение · #18

indy пишет:
Опишу вам ключевые принципы. Но вы должны понимать что данная тема оверхед, она не может быть раскрыта в виде текущего обсуждения, она слишком сложна. Эта тема - следующая публикация.

Почему вы думаете что где то можно почитать ?

Вы про это всё нигде не почитаете.



где именно можно найти "следующую публикацию"?

Или даже искать бесполезно?

-----
Give me a HANDLE and I will move the Earth.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 октября 2017 02:59
· Личное сообщение · #19

plutos

Была мысль публикации к нг как обычно в inception-zine, но я сомневаюсь на счёт актуальности, так как всё обосрут как обычно. В планах закончить разработки и отписать Intel для реализации в железо.

-----
vx


| Сообщение посчитали полезным: ClockMan, plutos, VOLKOFF


Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 29 октября 2017 03:12
· Личное сообщение · #20

difexacaw
У тебя идеи хорошие но выражать их ты не умеешь и некоторым людям тебя вообще не понять

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.


| Сообщение посчитали полезным: ajax


Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 29 октября 2017 03:19 · Поправил: plutos
· Личное сообщение · #21

difexacaw пишет:
но я сомневаюсь на счёт актуальности, так как всё обосрут как обычно


отчего же?
Как раз напротив, было бы очень интересно ознакомиться и поучиться.
Если будет (или есть уже) что-то систематезированое, то пожалуйста выкладывайте!
Даже если оно сырое, то это уже что-то.
Люди будут задавать вопросы, что-то будет добавлено, что-то уйдет, а там рукой подать и до серьезной публикации или даже книги.
Тема нужная, интересная, материалов крайне мало, так что - ждем!

-----
Give me a HANDLE and I will move the Earth.




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 29 октября 2017 03:52
· Личное сообщение · #22

difexacaw пишет:
В планах закончить разработки и отписать Intel для реализации в железо


Внести свой вклад - бесценно, поддерживаю в начинаниях!



| Сообщение посчитали полезным: Lambda, SReg, Metabolic


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 октября 2017 04:01 · Поправил: difexacaw
· Личное сообщение · #23

VOLKOFF

Не вижу никакого юмора, это механизм защиты, который может быть реализован. И это выпилит всё OP дерьмо на уровне архитектуры.

-----
vx




Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 29 октября 2017 15:30
· Личное сообщение · #24

difexacaw пишет: В планах закончить разработки и отписать Intel для реализации в железо.

Пока не научишься выражать свои мысли в академическом стиле нет смысла кому то что то слать, это в первую очередь касается работоспособности самого алгоритма, должно быть формальное доказательство, никто не будет разбираться с кодом, сам код вторичен, хотя и желателен.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 октября 2017 15:37
· Личное сообщение · #25

shellstorm

Про код речи небыло. Впрочем не важно.)

-----
vx





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 04 ноября 2017 20:08 · Поправил: DenCoder
· Личное сообщение · #26

DenCoder пишет:
Способен подвесить систему


Оказалось, что это сам ноут этим грешен и без WinDbg. В чём дело? - пока на это нет времени

P.S. Сносить что ли 10ку и ставить 7ку? Как-то жалко... Один раз уже так сделал...

-----
IZ.RU




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 04 ноября 2017 20:22
· Личное сообщение · #27

DenCoder пишет:
Сносить что ли 10ку и ставить 7ку?

С одной стороны безусловно да, с другой - новый WinDbg работать на 7-ке не будет... возможно никогда



Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 04 ноября 2017 21:24
· Личное сообщение · #28

VOLKOFF пишет: с другой - новый WinDbg работать на 7-ке не будет

Грозились выпустить и для семерки, ибо жива и помирать пока что не собирается. Сейчас и для десятки не особо рабочие, поддерживает только юм32




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 06 ноября 2017 10:38
· Личное сообщение · #29

shellstorm пишет:
поддерживает только юм32

км32 тоже

-----
IZ.RU




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 06 ноября 2017 13:10
· Личное сообщение · #30

Сам отладчик да, но без некоторых фич, тот же TTD только ЮМ




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

Создано: 07 ноября 2017 01:35
· Личное сообщение · #31

pegasus - Windbg extension DLL for emulation

Кто-нибудь использовал эту штуку? Что она реально дает?

-----
Give me a HANDLE and I will move the Earth.



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>
 eXeL@B —› Основной форум —› Использование WinDbg
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати