Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #45, АВГУСТ 2004 г.

Инструменты мастера

Фридрих Бывалый

Спецвыпуск Xakep, номер #045, стр. 045-078-3


MASM32

http://www.movsd.com/

Если сложить вместе ASM-компилятор и линкер от Microsoft, тучу библиотек и заголовочных файлов, учебник по программированию на ассемблере Iczelion’а и целый ряд разных утилит, так или иначе облегчающих жизнь кодеру, то мы получим пакет MASM32, адаптированный к современному миру старый добрый Macro Assembler.

Пакет определенно хорош. Он не так удобен при написании shell-кодов, как FASM, но некоторые используют его в паре с Visual C++.

NASM

http://sourceforge.net/projects/nasm

Очередной sourceforge проект. На этот раз не плоский, а Netwide. Мощный модульный x86 ассемблер с перелопаченным синтаксисом, переносимый на любые оси и компилящий код в любом формате. В мануале сказано, что он может создавать файлы следующих форматов: ELF (формат Линукса), NetBSD/FreeBSD, COFF, Microsoft 16-bit OBJ и Win32 – симпатичный списочек, особенно в нем хорошо смотрятся BSD. Вот только изменение синтаксиса все портит. Он, конечно, похож на Intel’овский, но с ним придется разбираться – а это жирный кусок времени для чтения мануалов.

TASM

http://www.borland.com

Borland Turbo Assembler. Если зайти на страничку какого-нибудь вирмейкерского журнала (например, на 29a.host.sk), то сразу можно заметить, что все выкладываемые там исходники написаны в меньшинстве случаев для MASM32 и для TASM – в большинстве. Не знаю, чем так приглянулся этот ассемблер ребятам, пишущим вирусы. Возможно, именно под него они начинали писать вири под DOS, а, когда Билли выпустил Винду, не захотели переходить на что-нибудь другое (альтернативой был только MASM). В целом, очень неплохой компилятор, староват, правда. Он умеет понимать синтаксис MASM, включая его макроопределения, и этой возможностью активно пользуется большая часть ASM-кодеров, работающих с TASM. Хотя во всех книгах пишут о достоинствах его собственного синтаксиса Ideal.

Компиляторы Си

VC++

http://www.microsoft.com

Если кто и возьмется писать эксплоит под Windows, то он это будет делать только в Visual C++. Почему? Во-первых, потому что у мелгомягких лучший оптимизатор кода – exe’шник получается минимального размера. Во-вторых, Визуальная Студия (Visual Studio), в состав которой входит C++, обладает очень хорошей средой разработки с приличным отладчиком. Подсветка кода, всплывающие окошки с прототипами API-функций – все это благоприятно действует на кодера. В-третьих, потому что ничего другого под рукой нету, а “Builder масдай форева”.

Жалко, что скачать Студию из интернета будет затруднительно, в отличие, например, от lcc, ее дистрибутив на дискету не влезет. А если с MSDN’ом, то и на DVD не влезет :).

Borland C++ Builder

http://www.borland.com

Delphi с синтаксисом С++. Такие же компоненты, такая же среда. Кошмар. BCB выплевывает относительно неплохой код, если не использовать VCL. А если использовать, то даже минимальное приложение с трудом на дискету влезет – хорошенький эксплоит получится, не так ли? Без фирменной библиотеки классов C++ Builder подойдет разве что ярым противникам Microsoft, которые не пользуются Visual Studio по религиозным соображениям. А зря.

Назад на стр. 045-078-2  Содержание  Вперед на стр. 045-078-4