Сейчас на форуме: -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 |
|
Создано: 31 марта 2019 12:53 · Поправил: volopas1 · Личное сообщение · #2 Нашел символы тут: https://archive.org/download/somewinxpdownloads WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe/symbols.cab В архиве symbols.cab файлы вида autorun.pdb.dll autorun.pdb.exe WinDBG не понимает такое. Чезер Total Commander - Multi-Rename Tool... можно удалить лишние расширения , но что делать с повторяющимися файлами? UPD. Установщик создает папки exe, dll и т.д. и туда копирует файлы уже без лишнего расширения. Можно было заархивировать сразу вместе с папками. Добавлено спустя 24 минуты А то, что тут кричали, что всё скачивается, такого в принципе не может быть. windbg отправляет на этот https://vsblobprodscussu5shard90.blob.core.windows.net/ SSL:SSLv2RecordLayer, ClientHello (0x01) но сервер не отвечает, шифронабора нет на говно-сервере . Если через браузер качать , то сервак выбирает шифронабор TLSCipherSuite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 То что у вас через виртуальную машину качает, так это сама машины отправляет запросы, которые сервер понимает |
|
Создано: 31 марта 2019 13:20 · Поправил: Alchemistry · Личное сообщение · #3 |
|
Создано: 27 апреля 2019 02:00 · Поправил: hash87szf · Личное сообщение · #4 Мальчики, я сижу на Win10 LTSC и без Storа. Не мог хто подхватить линк на .appx Windbg Preview Eng и закачать куда? Или предоставить линк, но он долго не живёт. Можн наверно в облако на прямую. Я слышал там Time Travel debug встроили. Интересно. https://www.microsoft.com/en-us/p/windbg-preview/ Жмёш на Get и подхватываешь линк Fiddlerom или Wireshark. Добавлено спустя 14 часов 32 минуты http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e03eadf-89d8-4ac7-9992-aab4e125de85?P1=1556372639&P2=402&P3=2&P4=oRcMUiafTkNHLEesJEg4ex36pvCduepeatlhCf40DUQKuUAItr0Gk8XHrsANHP2H%2Fj5X%2BjYN%2ByxNS8Rfu%2BojjQ%3D%3D 45mb http://rgho.st/7NBQ5lh89 | Сообщение посчитали полезным: mak, plutos, dma |
|
Создано: 29 апреля 2019 00:44 · Личное сообщение · #5 Как приатачить Windbg с TTD (time travel debug) к х64дбг подопечному.exe? Пробовал зациклить с jmp, детач хдбг, атачить Windbg Пробовал suspend через Process Explorer, детач хдбг, атач Windbg Пробовал просто атач Windbg к стоящему процесу под хдбг. Все варианты не робят. Как это правильно делается без TTD? ТТД мощная штука. Например Anydesk (remote admin) распаковывает сам себя, вызывает CreateProcess через aclayer. Callstakc в попе. Стоячим на бряке в aclayer!CreateProcess, если найте все хрефы из Anydesk в aclayer из всех секций и поставить бряки на на хрефы то вызов не найти. Трейсить это дело xdbg медленно и ужасно. А Windbg делает это за минуту. DynamoRio crashes ^^ Performance у TTD раз эдак в x20 медленее, и трэйс был на 1.5 гига (не пакованный), но зато остановившись на aclayer, поставив бряк на код Anydesk, и клацнув "беги назад" восстанавливает всё. Да оно и не надо, колстэк был в теме! Штука. Для реверса из за инструмента - не очень, а вот для дебага каких то ужасный гонок, да есчё с сорцами! Вау. |
|
Создано: 29 апреля 2019 12:21 · Личное сообщение · #6 hash87szf пишет: http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/6e03eadf-89d8-4ac7-9992-aab4e125de85?P1=1556372639&P2=402&a mp;P3=2&P4=oRcMUiafTkNHLEesJEg4ex36pvCduepeatlhCf40DUQKuUAItr0Gk8XHrsANHP2H%2Fj5X%2BjYN%2ByxNS8Rfu%2BojjQ%3D%3D ERROR 403: Time-Limited URL validation failed ----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube |
|
Создано: 29 апреля 2019 12:52 · Личное сообщение · #7 rghost ведь Алсо, принцип работы как я понял не как у Пин'а, тоесь не JIT, хотя хз. Они инжектят длл: TTDWriter, TTDRecordCPU. Алсо, стринги шо вводили в апп под дебагом находятся в трэйс файло, но их позицию найти в Windbg не ясно как. Так как heap, stack подставляются частично, в зависимости от EIP. s -a 0 L0000000 "тормоз" - не робит глобально по всему трэйсу. Был бы формат tracefilа... symbols included... Добавлено спустя 13 минут это идёт индексирование трейса старт и сразу выход самого Windbg под ТТД на laptop'чиках это лучше не запускать индекс трейса живёт в РАМе видать картинка когда было 500/3000 keyframes индекса сделано "Successfully created the index in 490820ms." +5gig index file Добавлено спустя 16 минут TTDinject подписанный инжектор, проверяет ли он шо он инжектит? |
|
Создано: 29 апреля 2019 14:42 · Поправил: difexacaw · Личное сообщение · #8 hash87szf Обычное апп без защиты даже, можно визором крутнуть и всё что только пожелаете получить. А какие то инжекты из ядерного отладчика - изврат, это портит сам отладчик. Вопрос только в задаче, зачем стек вызовов сохранять в файл ? Он нужен при определённом событии, иначе файлик получится огромным и не нужным. ----- vx |
|
Создано: 29 апреля 2019 15:09 · Личное сообщение · #9 |
|
Создано: 29 апреля 2019 15:15 · Личное сообщение · #10 hash87szf Я этот пример тоже посмотрю, но задача в чём, что с ним нужно сделать ? На каждом процедурном ветвлении можно апдейтить лог процедурных вызовов, но опять зачем и что с ним делать ? Какая задача конкретно с этим апп ? Или само апп не важно, а это нужно что бы поюзать новые инструменты ? ----- vx |
|
Создано: 29 апреля 2019 16:43 · Поправил: hash87szf · Личное сообщение · #11 С каким апп? Анидеск? Ни каких конкретных задач нет. Хочется всем и всегда хотелось иметь контекст при анализе в статике. Логи вызовов мало, если данные важнее. Так: https://raw.githubusercontent.com/neuroo/runtime-tracer/master/screenshot/ida-pin-traces-plugin.png А ТТД не только даёт контекст но ещё бежит назад, ловит всё аллоки сам, итд. Его можно использовать параллельно с Ида но не удобно. Например я пользуюсь DIE (dynamic ida enrichement) + Alleycat DIE ловит dynamic calls, а Alleycat находит проход. И даже думать о коде не надо... https://i.imgur.com/1AUdc4N.png https://i.imgur.com/54wPjyb.png Но DIE допиливать надо, и он тормознутый Питон, буквально ставит/отпускает бряки Идавским API | Сообщение посчитали полезным: dma |
|
Создано: 30 апреля 2019 11:16 · Поправил: Модератор · Личное сообщение · #12 hash87szf, а вы знакомы с |
|
Создано: 30 апреля 2019 17:22 · Личное сообщение · #13 hash87szf Я посмотрел софтину, она себя клонирует и пути запуска клонов разные, так что я записал на EP загрузочный стаб. Крутится оно довольно долго при старте(какой то большой цикл по расшифровке). Для теста там простейшая длл, которая смотрит стек вызовов. ----- vx |
|
Создано: 30 апреля 2019 21:32 · Личное сообщение · #14 |
|
Создано: 30 апреля 2019 21:41 · Поправил: difexacaw · Личное сообщение · #15 hash87szf Изначально я написал простейшую обработку запуска нового процесса на NtResumeThread. Это не отслеживает запуски новых процессов(не все), так как для этого юзаются иные способы(пути"), какой то запуск клонируется напрямую через создание процесса, некоторый запускается как служба, это можно посмотреть визуально в psexplorer. Поэтому что бы не городить огород с загрузкой по имени(опции реестра) пути решения два - добавить импорт, но так как импорта нет и самопроверок, то добавить загрузочный стаб вариант идеальный. Мне не нравится только одно - что этот цикл при запуске длительный. Это можно убрать, отключив например адресную раскодировку, она там не нужна и использовать пакетное исполнение. Но это получится не общее решение, а конкретный допил под целевое апп, что не годится. Кстате нюанс - вывод в консоль в 8-ке происходить не будет, я знаю это давно и почему(нужно включить флажёк в отладочный в PEB), но не использую её на вм, так что эту мелкую деталь не думал фиксить. А в целом работает покруче всех ваших тулз ----- vx |
|
Создано: 02 мая 2019 00:46 · Личное сообщение · #16 Интересная статья про |
|
Создано: 01 июня 2019 01:16 · Поправил: plutos · Личное сообщение · #17 Microsoft | TechNet опубликовал (May 29, 2019) статью, посвященную: Кое-что уже известно, кое-что новое, но любителям WinDbg, думаю, будет интересно ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: dma |
|
Создано: 01 июня 2019 01:59 · Личное сообщение · #18 |
|
Создано: 04 июня 2019 21:11 · Личное сообщение · #19 TTD - а как это работает ? Как я понял апп запускается под визором типо SDE, сохраняется лог(трасса етц). Затем при отладке на любом адресе имеется трасса от предыдущего запуска. Как то сомнительно что это работает, даже если это повторный запуск апп, его поведение обычно отличается, к примеру адресный ранд(aslr). Интересно как реализован визор, пин как в сде ? Этот сде слишком сырой что бы под ним что то работало стабильно. ----- vx | Сообщение посчитали полезным: dma |
|
Создано: 05 июня 2019 01:48 · Личное сообщение · #20 difexacaw, хорошая тема. VOLKOFF годика полтора назад давал хорошую ссылку на |
|
Создано: 28 июля 2019 00:01 · Личное сообщение · #21 LiveCloudKd was the first utility to focus on Virtual Machine introspection for memory forensics purposes, it was released in 2010 after some initial research on Hyper-V v1. ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 10 августа 2019 22:55 · Поправил: plutos · Личное сообщение · #22 mak пишет: Существует несколько интересных плагинов для подсветки синтаксиса WinDBG по этому линку --> Link <--К сожалению у меня они не работают Я знаю, что прошло много времени с тех пор, как mak поместил это сообщение, но я попробовал на Windows 7 WinDbg 10.0.17763.162 (remote guest Windows 10 Enterprise): работает хорошо и очень удобно выделяет нужные вещи. Возможно, что автор за два года устранил те недостатки, на которые жаловался mak. Установка простейшая: распаковал архив, скопировал пару файлов, а потом в WinDbg .load path\blwdbgue.dll и всего делов. Ну, как бы то ни было, ----- Give me a HANDLE and I will move the Earth. | Сообщение посчитали полезным: sty |
|
Создано: 11 августа 2019 02:14 · Личное сообщение · #23 |
|
Создано: 13 августа 2019 03:21 · Личное сообщение · #24 Довольно плотный обзор темы по материалам конференции DEFCON 27 workshop. Сами материалы в комплекте (pdf) ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 28 августа 2019 07:33 · Личное сообщение · #25 |
|
Создано: 24 сентября 2019 14:21 · Личное сообщение · #26 Windbg2ida lets you dump each step (instruction) in Windbg then give you a dump file and you can use it later in your IDA to put color on each line of the instructions that you've run to show code coverage. You can use Windbg2ida to see differences between two or more code coverages in IDA. |
|
Создано: 24 сентября 2019 22:54 · Поправил: plutos · Личное сообщение · #27 dma пишет: Windbg2ida lets you dump Вы бы прежде чем лепить новые сообщения использовали функцию Ведь уж месяц как висит тема про этот tool вот ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 24 сентября 2019 23:54 · Поправил: dma · Личное сообщение · #28 plutos пишет: Вы бы прежде чем лепить новые сообщения использовали функцию --> ПОИСК <--. А вы бы прежде чем "ЛЕПИТЬ" безапелляционные обвинения - думали бы логически, где более уместней размещать ту или иную информацию и научились бы выражать свои мысли более культурно, прежде чем обвинять в этом, хотя бы, того же Инди. А то у тех кто мало знаком с "внутренней кухней" кл, может возникнуть подозрение, что вы и Инди, это одно и то же лицо. Подумайте, Плутос, об этом на досуге. Это, во-первых. Во-вторых, очень внимательно слежу за всеми изменениями в ветке по WinDbg - поэтому даже поиск в этот раз не задействовал, полагаясь на свою память. Теперь буду знать, что доверять логике Плутоса нельзя - лучше ее перепроверять поиском. |
|
Создано: 25 сентября 2019 01:37 · Поправил: plutos · Личное сообщение · #29 This tutorial demonstrates how to debug C++ code using a Time Travel Debugging recording. This example focuses on the use of Queries to find information about the execution of the code in question. PS где-то читал, что source code Time Travel Debug доступен для изучения, но найти сам код нигде не могу. Может кто скинет ссылку? ----- Give me a HANDLE and I will move the Earth. |
|
Создано: 25 сентября 2019 15:57 · Личное сообщение · #30 |
|
Создано: 26 сентября 2019 00:44 · Поправил: plutos · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >> |
eXeL@B —› Основной форум —› Использование WinDbg |