Инструменты для новичков
Хакерами не рождаются!
Ну что, приятель, задвинул на слабые попытки хакнуть банкомат соседского сбербанка? А зря! Ты что, думал, так всё сразу получится, подойдешь к нему с молотком и зубилом, и он тебе сразу все бабки выложит на блюдечке с голубой каемочкой? Ни фига! Хаку надо учиться, это искусство, это как на скейтборде кататься: вроде на доске, в принципе, любой стоять умеет, а вот с крыши прыгнуть на четыре колеса и шею не сломать - это децил сложнее. Поэтому готовься - если ты ещё не крутой хацкер, но очень хочешь им быть, мне есть что тебе рассказать. Но начну-то я, естественно, с азов - не со взлома банкоматов, а, к примеру, с обзора несложных, но настоящих софтверных инструментов, которыми пользуются хакеры и кракеры, чтобы юзать просроченные `шаровары` (shareware) или под шумок утянутую из приватных каталогов известной фирмы утилитку. Главное, начать, как любил говаривать Билли Гейтс в начале своей карьеры.
Во-первых, любому хакеру или тому, кто хочет им стать, надобно знать ассемблер. Со знанием одного бейсика-васика и второго трубопоскакаля далеко не уедешь, ведь рассматривать содержимое программ, исследовать их приходится преимущественно в совершенно `сыром` виде - машинных кодах и ассемблере. Есть у меня один знакомый, так тот вообще может декодировать команды из набора байтов в файле прямо в уме. Тут главное - немного терпения. Опыт придет со временем, и все будет на все сто. А то и на двести.
Вспомогательные утилиты
Итак, инструменты. Конечно, в первую очередь это программы, позволяющие определить, что именно перед тобой - картинка с длинными ногами и большими сиськами или запакованный ехе-файл. Некоторые детекторы позволяют определить тип файла, если он был запакован (отдельную статью о паковке exe-файлов смотри в следующих номерах журнала). И даже - попытаться снять защиту. Рекомендую ExeInfo by Adam Lojewski - весьма полезная вещь для анализа исполняемых файлов. Для удобства ее интерфейс пропатчили (спасибо STI) на предмет русских названий меню и надписей - от этого она только увеличила свою привлекательность для новичков и тех, кто ею пользовался до этого. Отвлекусь на пару слов, отхлебну пивка и скажу про Compare2Unlimited by Professor Nimnull. После того как дело сделано и в программу внесены изменения, неплохо бывает получить список измененных байтов. Выписывать вручную - слишком утомительно, и наверное, поэтому существует большое количество программ для автоматизации этой процедуры. Но C2U - одна из лучших. А для создания *.xck файлов хочется отметить XCKMaker 2.0 by Spider.
Hex-редакторы
Одним из основных инструментов кул хацкера (сразу после пива) является hex-редактор. Обычно, такая прога совмещает в себе возможности просмотра-редактирования файлов в шестнадцатиричном/текстовом (ASCII) формате и некоторые дополнительные фичи. Некоторые особо навороченные позволяют декодировать байты файла в инструкции ассемблера и даже писать на ассемблере и менять инструкции, что называется, не отходя от кассы. Здесь можно отметить, пожалуй, только две программы, сохраняющие популярность в течение уже ооочень большого периода времени. Программы хорошие и, что немаловажно в совдепии, бесплатные. Хотя, как говорится, для хакера из Багдада нет преграды... Но что-то же должно быть бесплатным! `Не все нужно ломать, надо же на чем-то и сидеть`, - как сказал один мой знакомый. Одна из программ называется Hacker`s View (HIEW) by SEИ.
Несмотря на кажущуюся простоту HIEW, я уже не мыслю работы на своём замечательном пивзаводе без неё. Кроме того что она сама управляет пивоваренными котлами и подвальными холодильниками, она имеет полнофункциональную поддержку pe/ne и кучи других форматов файлов и такие очень удобные фичи, как поиск инструкции по маске (например, хочу я найти присвоения регистру AX, тогда указываю: mov ax,? - и все - дело в шляпе. Будут найдены и mov ax,1, и mov ax,dx и т.д.). Все это позволяет мне сказать, что это лучший редактор. Как его (да и остальной софт, о котором я рассказываю) использовать, я буду говорить непосредственно перед тем, как буду этот софт юзать. Второй HEX-редактор - QView by ABC Product. Внешне - смотрится гораздо лучше, чем HIEW. Но вот с содержанием до HIEW ему далеко, хотя новые версии наверняка восполнят этот пробел. Хотя, вообще-то, редактор не обязательно должен быть красивым, как унитаз - скорее, простым, и практичным, как туалетная бумага.
Отладчики
Третий тип инструментов взлома - нет, не фомки и не лом. Отладчики. Наверняка все, кто хоть как-то знаком с хаком (хотя бы и понаслышке), знают об их существовании и о том, как сильно они помогают кракерам в их тяжелой работе. Они есть под все платформы и операционные системы. Изначально они были призваны облегчить жизнь обычным кодерам-программистам. Но потом стали появляться кодеры, которые использовали отладчики не только на своих программах, но и на программах коллег по работе/учебе. Ведь всегда интересно, что же там эти ламеры наваяли? А некоторые считают, что гораздо круче поковыряться в уже откомпиленном ехе-шнике и сделать такое у себя, подкрутив там и подправив здесь, чем корпеть над этим самому. Хотя я с ними не согласен. Ладно - вернемся к нашим баранам, то есть отладчикам. Самым известным `фирменным` отладчиком был и остается Soft-Ice by NuMega Corp. Его реализации есть как для DOS, так и для Windows 9x/NT. При этом он дружит практически со всеми extender`ами вроде EMM386 и QEMM. Установить его, научиться пользоваться им и всеми его крутыми фичами - немалый шаг к успеху в нашем скромном предприятии, как сказал бы AtH. Очень мощное средство. Собственно говоря, именно его я использую для взлома всех программ для Windows и почти всех для DOS. Однако кроме него есть еще довольно много очень приятных в использовании трасеров-дебагеров, как их называют некоторые кракеры. Например, очень даже неплох DeGlucker. Сделан он ручками Gorokhov и... после того, как они его бросили, им занялся CrazyMax. Правда, у него есть некоторые минусы (например, необходимо загружать операционку без extender`ов, потому что DG работает только в V86 режиме и ни в каком другом), да и свежую версию, свободную от глюков, мы не дождемся - авторы его бросили. Правда, перед окончательным `хэппи-эндом` проекта CrazyMax выставил на всеобщее обозрение его сорцы (исходники, стало быть). И есть надежда, что найдутся пиплы с большим количеством свободного времени, ума и пивы - довести это дело до ума. Говоря о дебагерах в приложении к хаку, я почти ничего не могу сказать о таких вещах, как Turbo Debugger фирмы Borland и CodeView от `Мелкомягких товарищей партии`. Эти отладчики помогут отладить базу данных для родного предприятия в случае, если имеются исходники к ней, но никак не помогут понять устройство какой-нибудь библиотеки хитрой программы с клевым предложением `REGISTER!` в меню. Хотя я, например, использую Turbo Debugger, чтобы отлаживать вирии. Еще не могу обойти вниманием такой отладчик, как AXE-Hack. В отличие от DG (обладая более расширенными свойствами и сервис-фичами), он позволяет работать прямо в окне DOS под Windows и эмулирует (то есть дает программе подумать, что он что-то делает, а на самом деле - филонит по страшному) часть команд процессора, что иногда становится серьезным подспорьем в борьбе с какой-нибудь супер-пупер заSHITой. Вообще, не фирменных дебагеров довольно много. Но рассказывать обо всех не имеет смысла. Для хака вполне хватит и тех, о которых я уже рассказал.
Дизассемблеры
продолжение в следующем сообщении