Рубрика «windbg» - 2

Введение

Возможно некоторые читатели помнят мою самую первую статью на ресурсе, посвященную загрузке Windows с VHD-образа. Возможно я бы и не вернулся к этой теме, если бы не нашлись люди, попытавшиеся повторить данную технологию на своих домашних машинах. Естественно, с реализацией этого решения возникли проблемы, касающиеся в основном тех ошибок, которые выплевывает bootmgr в тех случаях, когда ему что либо не нравится. Попытки интерпретации ошибок загрузки вроде 0xc03a0003 путем гугления к особо ценным результатам не приводят, а документация Microsoft на этот счет хранит многозначительное молчание. Возникла идея изучить процесс обработки VHD-образов, получив информацию из первых рук, то есть от самого загрузчика.

Если обратится к уже имеющейся в сети информации, то существует замечательный блог "Записки эникейщика о Windows" на страницах которого (раз, два и три) размещены, на мой взгляд, самые ценные сведения, по вопросам устройства bootmgr. Автор подробно рассмотрел процесс загрузки, включая исследования кода MBR и PBR, остановившись на структуре bootmbr, кратко описав происходящие при его работе процессы.

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

Читать полностью »

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

Благодаря тому, что не было необходимости следовать правилам Google, мы смогли изменить двух «официальных» участников «на лету».
В прошлом году мы выбрали двух официальных участников и 6 «неофициальных» (без денежного вознаграждения). Однако, в процессе продвижения кодинга осталось лишь трое неофициальных участников. Но, так как им успешно удалось завершить свои задания, мы поделили собранные деньги поровну между ними (порядка $700 на человека). Рассмотрим задания поподробнее:

Два задания не были выполнены/завершены — это полный перевод всего фреймворка на использование базы данных sdb и доводка до ума webui.

С другой стороны, три задания были завершены успешно, и на данный момент весь код находится в основной ветке.

Результаты Radare Summer of Code 2014 и организация нового RSoC-GSoC 2015 - 1Во-первых, это поддержка парсинга сложных структур и отображение их в необходимом формате, с помощью команды pf и парсера описания данных на языке Си (struct/union, etc).

Во-вторых, это поддержка загрузки и использования сигнатур формата FLIRT (из IDA Pro), а также интеграция с Yara. Благодаря тому, что это задание было успешно выполнено, radare2 может быть использован для анализа malware с использованием существующих баз сигнатур, накопленных за годы работы с IDA Pro и Yara. Код интеграции с Yara вынесен в отдельный репозиторий.

Ну и последнее успешно выполненное задание — это поддержка PDB. Основное отличие от многих отладчиков и дизассемблеров (кроме IDA Pro) — это парсинг формата самостоятельно, без использования вызовов системных библиотек Windows.

Кроме того, с прошлого года значительно улучшилась ситуация с документацией: radare.today/radare2-is-documented/
Читать полностью »

в 6:01, , рубрики: c++, windbg, метки:

WinDbg — позволяет отлаживать 32/64 битные приложения пользовательского уровня, драйвера, может быть использован для анализа аварийных дампов памяти, WinDbg поддерживает автоматическую загрузку отладочных символов, имеется встроенный скриптовый язык для автоматизации процесса отладки, скачать отладчик можно тут.
Читать полностью »

в 19:57, , рубрики: windbg, windows, x64, метки: ,

Время вспять…Вот и отгремело первое апреля. Кто-то в этот день нюхал свои девайсы в новом сервисе Google Нос, кто-то играл в «Поле чудес», а кто-то, позабыв о роковой дате, просто угрюмо отряхивал спину от мела…

Я же, воодушевлённый статьёй про скрытые возможности кастомизации процесса explorer.exe, тоже решил сделать что-нибудь забавное.
Пусть сегодня моя секундная стрелка часов в Windows идёт в обратную сторону! Не самый, конечно, полезный в хозяйстве мод, но в академических и рекреационных целях вполне сгодится :)

Часовую и минутную стрелки я оставил в правильном направлении. Иногда всё же приходится полгядывать на часы в трее — пусть они показывают время с точностью хотя бы до минуты...

Читать полностью »

Пару лет назад я писал об использовании базы PAF (Postcode Address File) британской Королевской почты (Royal Mail) для приведения почтовых адресов, вводимых пользователями, к стандартному виду. Поскольку PAF — основная интеллектуальная собственность Royal Mail, то заполучить её не так-то просто: годовая подписка стоит от £400 в зависимости от полноты базы и от частоты апдейтов. Спустя неделю-другую после оформления подписки по почте приходит солидная красная коробочка с CD-диском:
Почтовые индексы — на свободу! (Реверсинг в картинках)

На диске — EXE-файл, который запрашивает «серийный номер» и распаковывает базу (набор CSV-файлов) на диск. Серийный номер присылают отдельно, чтобы злоумышленник, перехвативший посылку, не смог бы воспользоваться базой. (Вот выдумают же — текстовый файл с серийным номером!) Номер у каждого клиента свой, чтобы в случае «утечки» было ясно, к кому предъявлять претензии. Впрочем, организовать «утечку» самих данных серийный номер никак не мешает, и на WikiLeaks в 2009 г. появилась база Postzon (одна из составляющих PAF). В комментариях к ней отмечено, что "данная база составлена на средства налогоплатильщиков, и активисты, в их числе газета The Guardian и сэр Тим Бернерс-Ли, уже давно пытаются убедить Royal Mail открыть свободный доступ к PAF; но до сих пор эти попытки не увенчались успехом". Впрочем, через год после появления Postzon на WikiLeaks аналогичная по содержанию база появилась в открытом доступе от имени британской картографической службы Ordnance Survey и под названием OS Code-Point Open — таким образом и Royal Mail сохранила лицо, не уступив требованиям активистов, и утёкшие данные официально получили статус общедоступных. Тем не менее, полностью PAF до сих пор необщедоступна. (Пока я готовил эту статью, Postzon и с WikiLeaks куда-то пропала; но гугл всё помнит.)

Спустя год после получения PAF мне понадобилось в неё снова заглянуть, но листочек с серийным номером, присланный отдельно от диска, за год успел куда-то затеряться. Тут мне и стало интересно — насколько сложно будет обойти проверку серийного номера в продукте таком солидном и так яростно защищаемом от «освободителей информации»? Через полчаса данные были у меня на винте, а сама программа-распаковщик мне показалась неплохим демонстрационным примером для начинающих реверс-инженеров. Никакая IDA не потребуется — только бесплатные и быстроустанавливаемые инструменты.

Суровые ассемблерщики, которых боится даже Касперский, наверняка сочтут данный пример игрушечным, и, позёвывая, пролистают весь остаток статьи. Ну и ладно — туториалы в стиле «как нарисовать сову» меня раздражают намного больше, чем те, в которых разжёвываются простые вещи.
Читать полностью »

Процесс загрузки Windows или что спрятано под стартовым логотипомА вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!

Что тогда подразумевает под собой загрузка операционной системы? По большей части это проецирование в память исполняемых модулей и инициализация служебных структур данных. Структуры данных живут в памяти, поэтому операции с ними по идее должны быть быстрыми. Все наталкивает на мысль о том, что время съедается именно процессом загрузки исполняемых модулей в память.

Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае — Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.
Читать полностью »

Пару месяцев назад я искал руководство для начинающих по созданию DbgEng расширений к отладчику WinDbg из Debugging Tools for Windows. Что бы на максимально простом примере, с самого начала, подробно и с картинками. Google дал много информации по теме, но ни одного руководства отвечающего вышеперечисленным требованиям.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js