Низкоуровневый кодинг Крис Касперски ака мыщъх Хакер, номер #076, стр. 076-116-5 Изучай ассемблер. Инструментарий Программируя методом ассемблерных вставок, достаточно иметь компилятор с его IDE (например, Microsoft Visual Studio). Чрезвычайно удобно, что вставки отлаживаются точно так же, как и весь остальной высокоуровневый код. Для программ, целиком написанных на ассемблере, понадобится транслятор. Под dos'ом большой популярностью пользовался пакет TASM от компании Borland, но в Windows его позиция выглядит неубедительной, и большинство программистов использует транслятор MASM от Microsoft, входящий в состав DDK (Device Driver Kit – набор инструментов разработчика драйверов). С ним конкурирует некоммерческий транслятор FASM (http://flatassembler.net/), заточенный под нужды системных программистов и поддерживающий более естественный синтаксис языка. Существуют ассемблеры и под *nix, например, NASM, входящий в штатный комплект поставки большинства дистрибутивов. В общем, какой ассемблер выбрать - дело вкуса. Прежде чем ассемблированная программа заработает ее необходимо скомпоновать. Для этого вполне подойдет стандартный линкер, выдернутый из той же Microsoft Visual Studio или Platform SDK. Из нестандартных можно порекомендовать ulink от Юрия Харона, поддерживающий большое количество форматов файлов и множество тонких настроек, которых другие линкеры крутить не дают. Его можно скачать с сайта фирмы Стикс: ftp://ftp.styx.cabel.net/pub/UniLink/ulnbXXXX.zip. Для некоммерческого использования он бесплатен. Еще нам понадобиться отладчик и дизассемблер. Отладчик - это инструмент для поиска ошибок в своих собственных приложениях и взламывания чужих. Debugger’ов много разных: Microsoft Visual Debugger, интегрированный в состав Microsoft Visual Studio, Microsoft Windows Debugger (сокращенно WDB), и Kernel Debugger, входящие в состав SDK и DDK, SoftIce от NuMega, OllyDbg от Олега Яшкина и т.д. Самый мощный - SoftIce, самый расширяемый - WDB, самый простой и неприхотливый - OllyDbg. Дизассемблер же нормальный есть только один - это IDA Pro. Другие с ним и рядом не лежали. Мелочь типа hex-редакторов, сравнивателей файлов, дамперов памяти, упаковщиков/распаковщиков так же должна быть все время под рукой. Скачать полный комплект необходимого инструментария можно, например, с сайта www.wasm.ru. CD На диске ты найдешь примеры программ и весь необходимый софт. WEB www.wasm.ru – лучший ресурс для программистов-ассемблерщиков. INFO Если вдруг у тебя возникла необходимость в учебнике по асму, то могу порекомендовать: Юров "Ассемблер - учебник", Зубков "Ассемблер - язык неограниченных возможностей", Ровдо "Микропроцессоры от 8086 до Pentium-III Xeon и AMD K6-3". |