В отладчике WinDbg существует специальная возможность – мэппинг драйвера. Отладчик может перехватить момент загрузки драйвера на тестовой машине и загрузить в память копию драйвера с машины разработчика. Эта способность избавляет разработчика от проблемы копирования файла драйвера на тестовую машину и, конечно, от забывчивости.
Читать дальше «Использование мэппинга драйверов»
Как известно, в операционной системе Windows (2000, XP, 2003) существует механизм защиты системных файлов, также известный как Windows File Protection. Данный механизм не позволяет изменять или удалять критичные объекты операционной системы, в частности системные DLL и различные драйверы. В случае обнаружения изменений ОС восстанавливает такие файлы.
Вкратце суть алгоритма сводилась к следующему: в системном процессе winlogon.exe существовал следящий поток. Если он замечал изменение системной компоненты, то компонента восстанавливалась из запасной копии.
В скором времени данный алгоритм изучили и были придуманы многочисленные способы обхода данной технологи. Использование недокументированных функций системной библиотеки sfc_os.dll или изменение sfc.dll/sfc_os.dll стали широко использоваться в различных вредоносных программах.
Но не это нас интересует, а то, как видоизменился данный механизм в операционных системах Windows Vista и Windows 7.
Читать дальше «Небольшой трюк с WRP под Windows Vista+»
Итак, обновились Windows Debugging Tools, теперь WinDbg входит в поставку WDK (не знаю зачем это было делать).
Что нового в WinDbg 6.12.2.633 Что нового в WDK 7.1.0 Скачать
0
Довольно часто я сталкиваюсь с тем, что необходимо получить имя модуля по какому-либо адресу внутри него. Например, для того, чтобы загрузить символы этого модуля. Отладчик использует отложенную загрузку символов (deferred symbol loading или lazy symbol loading) и выражается она в том, что символы подгружаются только тогда, когда они нужны. Делается это специально, иначе программист устанет ждать, когда же загрузятся все символы. Я, кстати, не знаю в чем смысл «когда они нужны». Эта тайна доступна лишь программистам WinDbg.
Читать дальше «Адрес модуля в WinDbg»
Рабочее место разработчика должно быть удобным для него. Ничего не должно отвлекать от процесса разработки или анализа и все должно быть под рукой. Отладчик WinDbg не блещет красивым и удобным интерфейсом, но старается покорять громадными техническими возможностями.
Данная заметка – это вольное изложение документации, которая поставляется с отладчиком.
Читать дальше «Темы WinDbg»
Представляю вашему вниманию страницу «Трюки WinDbg», которую буду пополнять по мере возможности. Об изменениях в ней я сообщу дополнительно. Вопросы можно оставлять в любой теме, которая относится к данной странице.
0
Этот раздел предназначен для описания различных трюков WinDbg. Некоторые их них полезны, некоторые очень полезны. Большинство я использую при динамическом анализе различных руткитов, однако, не стоит забывать о том, что WinDbg можно использовать как дебаггер приложений пользовательского режима. Сам дебаггер содержит громадное количество команд, но используется очень малая их часть. Поэтому будем [...]
Относительно недавно вышла новая IDA v5.4. В ней были заявлены возможности удаленной отладки, используя Windbg. Конечно, в IDA появились и другие интересные вещи. Среди них я бы выделил те самые три отладчика: Bosch, GDB, Windbg; возможность писать на Python (видимо для гиков и «аверов», которые строят на этом системы анализа); и, задерживаем дыхание, возможность получить имена локальных переменных и типы из формата .PDB. Последнее означает то, что теперь можно загрузить наконец-то ntoskrnl.exe в IDA и все недокументированные структуры будут как на ладони (это ж надо дойти до этого только к версии 5.4).
Читать дальше «IDA vs Windbg»