Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #83, НОЯБРЬ 2005 г.

64-битный привет

Крис Касперски ака мыщъх

Хакер, номер #083, стр. 083-118-2


Впрочем, не будем о грустном. 64-бита все равно войдут в нашу жизнь. Для некоторых задач они очень даже ничего. Вот, например, криптография. 64-бита - это же 8 байт! 8-символьные пароли можно полностью уместить в один регистр, не обращаясь к памяти, что дает невероятный результат! Скорость перебора увеличивается чуть ли не на порядок! Ну, так чего же мы ждем?! Вперед! На штурм 64-битных вершин!

[что нам понадобится?]

Для программирования в 64-режиме желательно иметь компьютер с процессором AMD Athlon FX или Opertorn, но можно обойтись и эмулятором. Существует не так уж много эмуляторов под x86-64 платформу и все они недоделанные и жутко бажные, но для знакомства с AMD 64 их будет вполне достаточно.

Большой популярностью пользуется бесплатный эмулятор BOCHS (в просторечии называемый борщом), распространяемый в исходных текстах. Поддержка архитектуры x86-64 впервые появилась в версии 2.2-pre3 и затем была включена в релиз 2.2.1 на правах экспериментальной фичи. На официальном сайте (http://bochs.sourceforge.net/) можно найти несколько готовых бинарных сборок под разные платформы, но… только для архитектуры x86. Эмуляция x86-64 требует обязательной перекомпиляции под *nix-системами. Скачиваем исходные тексты (http://prdownloads.sourceforge.net/bochs/bochs-2.2.1.tar.gz?download), распаковываем архив, запускам конфигуратор с ключом --enable-x86-64 и затем даем make.

[сборка BOCHS'а с поддержкой эмуляции x86-64]

$./configure --enable-x86-64

$make

Образуется исполняемый файл bochs, требующий для своей работы bios и bxrc-сценарий, которые можно позаимствовать из готовой бинарной сборки. Для компиляции под Windows-платформу следует запустить скрипт "conf.win32-vcpp", а затем выполнить make win32_snap. Для этого, естественно, необходимо иметь Linux, поскольку Windows shell-скриптов в упор не понимает (правда, можно воспользоваться Cygwin'ом, но сборка под ним - отдельный геморрой).

[сборка BOCHS'а для компиляции Microsoft Visual C++]

sh .conf.win32-vcpp

make win32_snap

Сборка компилятором Microsoft Visual C++ 6.0 проходит не очень гладко (точнее, не проходит совсем) и приходится устранять многочисленные ошибки, допущенные разработчиками эмулятора, что требует времени и квалификации. Хорошо, что в Сети можно найти множество сборок борща, например: http://www.psyon.org/bochs-win32/bochs-x86-64-20050508.exe.

Тем не менее, со своей работой борщ справляется из рук вон плохо и к тому же сильно тормозит. Мой Pentium-III 733 затормаживается до < 1 Мгц AMD 64, отставая даже от Машины Бэббиджа, собранной на шестеренках и приводимой в движение паровым двигателем. Многие 64-битные Линухи вылетают еще на стадии загрузки ядра. Побаловаться x86-64 режимом под борщом еще можно, но на рабочий инструмент он не тянет. Впрочем, в последующих версиях ошибки эмуляции скорее всего будут исправлены, и тогда единственным недостатком останется низкая скорость, а вот это уже фундаментально. Обладателям low-end процессоров по любому придется искать что-то еще.

Назад на стр. 083-118-1  Содержание  Вперед на стр. 083-118-3