Заклинание кода: Алеф — Архив WASM.RU

Все статьи

Заклинание кода: Алеф — Архив WASM.RU

В наши дни искусство заклинания кода уже не пользуется большой популярностью, хотя в стародавние времена оно ценилось весьма высоко. Сейчас мОлодежь не очень-то интересуется старыми секретами, хотя так же рьяно, как и предыдущие поколения, ищет Силу. К сожалению, большинство неофитов кодерской магии отдаёт предпочтение дарам Баала и его сомнительным наукам: визуальным основам, острому си и тому подобной бесовщине. Но за внешним блеском прячется не могущество и свобода, а бессилие и оковы. Немногие из тех, кто достигает высот в этом мракобесии, ограничены вратами Баала, которые, как известно, ведут только в одно место: в геену огненную.

В поисках Силу некоторые попадают в ловушку ксакепианства. Это модное учение набрало популярность в прошлом веке, и в ряды этого движения направляют свои стопы многие молодые люди, привлечённые мнимой легкостью и иллюзорными возможностями. "Обрети Силу за 15 минут!" - вот лозунг их лжепророков. Но они забыли старую пословицу, которая гласит: "без труда не вытянешь Левиафана из пруда". Вооружившись артефактами древности и современности, последователи ксакепианства потокают собственному тщеславию и мании величия, не замечая, что, по сути, остаются на том же уровне, на котором были прежде.

Заклинание кода - одна из немногих наук, которые дают своим адептам истинное могущество и власть над битами и байтами, составляющим основы виртуального мироздания. В данном фолианте я попытался рассказать об этой чудесной дисциплине. У иного нетерпеливого читателя может возникнуть вопрос: "Что же такое заклинание кода?", который он и поспешит задать. В былые времена мастер просто хорошенько бы двинул наглеца 2х скоростным внешним CD-ROM'ом по лбу, но времена меняются, и сейчас правильнее дать на поставленный вопрос прямой ответ.

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

Чтобы научиться заклинать код, нам понадобятся три вещи - ассемблер, Книга Двойных Слов и собственное намерение. Без последнего ничего не выйдет, даже если будут первые два в сколь угодно большом количестве.

В настоящее время существует несколько ассемблеров. Многие пользуются TASM (любимый ассемблер заклинателей демонов), многие - MASM (хотя на нём и стоит печать Баала). Но мы остановим свой взор на FASM, так как он до сих пор поддерживается и развивается, к тому же он компактен и быстр, не в пример раздутым чудовищам современности. Найти FASM можно в пристанище его автора в Междусети (http://fasm.sf.net).

Я надеюсь, что вы незамедлительно скачаете этот замечательный ассемблер и установите его туда, куда вам будет удобно (и хорошо). Его синтаксис несколько отличается от синтаксиса TASM и MASM и больше похож на язык NASM, который, к сожалению, уже не развивается в наши дни, хотя баалоподобные языки плодятся как воины Язона, после того, как последний засеял поле зубами дракона. Важное отличие языка FASM от языков TASM и MASM в том, что использование метки или имени переменной в инструкциях означает использование адреса, а для обращения к значению, находящемуся по этому адресу в памяти, необходимо заключить имя в квадратные скобки - тогда как в MASM, и в TASM в режиме совместимости с MASM, имя переменной (но не имени константы!) без скобок также означает обращение к памяти, а для получения адреса необходимо использовать слово offset. Пример:

        mov eax,var

В MASM в eax после выполнения данной инструкции окажется значение переменной var, а в FASM в eax будет помещён адрес этой переменной. А чтобы в eax оказалось значение переменной var, нужно написать

        mov eax,[var]

Также у FASM свой макроязык, простой, но достаточно мощный. Я советую вам изучить примеры, прилагающиеся к этому ассемблеру.

Книга Двойных Слов так же известна как "IA-32 Intel' Architecture Software Developer's Manual" и представляет собой три огромных фолианта от 400 до 1000 страниц каждый. Все три тома свободно доступны в пристанище интеловских гномов в Междусети (http://www.intel.com) в разделе для разработчиков.

К сожалению, интеловские гномы родом из бывших колоний туманного Альбиона, а посему Книга Двойных Слов полностью на английском. Впрочем, даже если вы плохо знаете этот язык, не отчаивайтесь. В последующих главах я дам пояснения, которые помогут извлекать из Книги Двойных Слов необходимые для заклинания кода сведения.

Наконец, намерение вы можете обрести только в самих себе. Однако, чтобы вам было проще это сделать, я дам вам адреса некоторых пристанищ, в которых можно найти необходимые знания:

http://www.mageguild.by.ru http://www.dreamhackers.narod.ru http://www.magictower.ru

В следующей главе "Бет" я расскажу вам о простейшем заклинании - заклинании инструкции NOP.

2002-2013 (c) wasm.ru