Несетевая защита Крис Касперски ака мыщъх Спецвыпуск: Хакер, номер #051, стр. 051-100-2 Краткое руководство для начинающих: чтобы брякнуться на точке входа, необходимо предварительно определить ее адрес, для чего пригодиться штатная утилита Objdump (только для незащищенных файлов!) или biew/IDA: objdump file_name –f. Потом, загрузив отлаживаемую программу в GDB (gdb –q file_name), дать команду break *0xXXXXXXXX, где "0xX" – стартовый адрес, а затем Run для ее запуска на выполнение. Если все прошло успешно, GDB тут же остановится и передаст тебе бразды правления. Если же нет, открой файл в Biew и внедри в Entry point точку останова (код CCh), предварительно сохранив (в голове) оригинальное содержимое, перезапусти отладчик, а после достижения точки останова восстанови ее содержимое (set {char} *0xXXXXXXXX = YY). ALD: Assemble Language Debugger (http://ald.sourceforge.net) – пронырливый source-level application-debugger с минимумом рычагов управления, ориентированный на отладку ассемблерных текстов и двоичных файлов. Основан на библиотеке Ptrace со всеми вытекающими последствиями. В настоящее время работает только на x86-платформе, успешно компилируясь под следующие операционные системы: Linux, FreeBSD, NetBSD, OpenBSD. Поддерживает точки останова на выполнение, пошаговую/покомандную трассировку, просмотр/редактирование дампа, простор/изменение регистров, а также содержит простенький дизассемблер. Довольно аскетичный набор для взлома программ! Достопочтенный debug.com для MS-DOS и тот побогаче. Зато ALD бесплатен, распространяется в исходных текстах и грузит файлы без Section table. Для обучения взлому он вполне подойдет, но на звание основного хакерского инструмента, увы, не тянет. THE DUDE (http://the-dude.sourceforge.net) – интересный Source-level отладчик, работающий в обход Ptrace и успешно работающий там, где gdb/ald уже не справляются. К сожалению, работает только под Linux - поклонникам остальных операционных систем с этой утилитой поработать не удастся. Архитектурно состоит из трех основных частей: модуля ядра the_dude.o, реализующего низкоуровневые отладочные функции, спрягающей библиотечной обертки вокруг него – libduderino.so и внешнего пользовательского интерфейса – ddbg. Собственно говоря, пользовательский интерфейс лучше переписать сразу. Отладчик бесплатен, но для его скачивания требуется предварительная регистрация на www.sourcefogre.net LINICE (www.linice.com) – SoftIce под Linux. Чрезвычайно мощный отладчик ядерного уровня, ориентированный на работу с двоичными файлами без исходников. Основной инструмент любого хакера, работающего под Linux. В настоящее время работает только на ядре версии 2.4 (и вроде бы на 2.2 тоже) и отваливается с ошибкой в файле Iceface.c при компиляции под все остальные. Добавляет устройство /dev/ice, чем легко выдает свое присутствие в системе (впрочем, благодаря наличию исходных текстов это не будет серьезной проблемой). Всплывает при нажатии <CTRL>+<Q>, причем USB-клавиатура пока не поддерживается, так что для взлома придется использовать старую PS/2. Загрузчика нет и не предвидится, поэтому единственным способом отладки остается внедрение машинной команды INT 03 (опкод CCh) в точку входа с последующим ручным восстановлением оригинального содержимого. |