Забудьте всё, что считаете, что знаете о хакинге. Забудьте про свои предпочтения, свои сомнения, свою этику, свои иллюзии. То, что вы собираетесь испытать на себе, смогут лишь немногие люди. То, что последует далее, является глубоким проникновением в некоторые из самых светлых умов нашего поколения — в умы хакеров.

Вам когда-нибудь приходилось работать за противными шаткими столами, которые так раздражают? Если так, то вы, возможно, пытались их укрепить, подложив под ножку что-то вроде книги или картонки. И, как бы странно или глупо это ни выглядело, но то, что вы сделали, и есть так называемый хак! Сейчас, конечно, много людей так делают, и НЕТ, они не являются хакерами. Слово "хакер" создано для описания человека, который *постоянно* делает хаки для удовольствия и потехи ради.

Первыми здесь были студенты Массачусетского технологического института, а точнее те, которые вступили в клуб технического железнодорожного моделирования. Этот клуб был местом, куда люди приходили создавать поезда и обкатывать их на настоящих железнодорожных путях. Как это связано с хакерством? Хакерство родилось здесь, когда люди начали "химичить"со своими поездами, немного изменяя и наблюдая результат. Те же по функциональности электронные компоненты, которые, казалось, ограничены одним определённым назначением, на самом деле могут изящно применяться по-разному. Для этого было придумано слово. Хакинг. Хакинг был актом использования чего-либо не по назначению, способом, изначально не предполагавшимся. Как пример - Капитан Кранч, открывший, что, посылая в телефонную линию звуковые сигналы особой тональности, можно бесплатно звонить. Эти тональные звуки были в действительности получены им при свисте с помощью коробки из-под хлопьев (отсюда и его прозвище). Люди, которые изобрели этот способ свиста, понятия не имели об этой его "особенности". Каждый раз, когда вы используете что-то не по назначению, вы занимаетесь хакерством. Конечно, можно возразить, что люди делали так называемые "хаки" и до железнодорожного клуба и MIT. Это правда, но не стоит забывать, что слово было создано, чтобы обозначать людей, которые хакали с энтузиазмом и одержимостью.

Однажды, одно великое новое изобретение увидело свет. Это был "компьютер" (изначально он обозначал "калькулятор", но это название было отброшено (не спрашивайте меня почему). Достаточно быстро, хакерское мировоззрение было применено к компьютерам. Студенты MIT (и многих других заведений) начали "взламывать" компьютеры. Путем проб и ошибок, они смогли расширить свои знания о компьютерных системах и вскоре могли делать такие вещи о которых никто не догадывался. Для того, чтобы открывать для себя новые интересные возможности, они нуждались в еще больших знаниях компьютерных систем. Процесс познания начался...

С компьютерами появились новые средства хакинга. Наиболее важный (и только его я собираюсь обсуждать далее) - кодирование. Хакеры нашли новую игровую площадку и новую игру: кодирование. Как можно заниматься хакингом во время кодирования? На самом деле, это очень просто (если не все, то большинство программистов делают тонны хаков во время своей работы). Каждый язык, как определенный набор функций, выполняет определенные действия, при определенных условиях. Хакинг кода состоит в изменении действий или условий (а иногда, и обоих). Чтобы проиллюстрировать это, я объясню мой простой хак (я уверен, что кому-то он уже приходил на ум раньше, но здесь "мой" обозначает тот факт, что я (пере)изобрёл его) на Питоне.

В одной из моих программ мне нужно было взять данные из двух файлов и вернуть *только* различающиеся элементы. Вот так я это сделал (на самом деле довольно неэлегантный метод):

netstatlog1=[] netstatlog2=[] flog1=open('log1.txt') for line in flog1:

....netstatlog1.append(line)

flog2=open('log2.txt') for line2 in flog2:

....if netstatlog1.count(line2) == 0:

........netstatlog2.append(line2)

Теперь разъяснение (небольшого) хака в этом коде - использование экземпляра-счётчика, применяемого как средство сравнения. Грубо говоря, если элемент (здесь line2) встречается 0 раз в первом массиве, тогда он добавляется во второй. Здесь экземпляр, предназначенный для подсчёта элементов в заданном массиве, в действительности становится экземпляром для вывода различных элементов. Это, довольно, простой хак, он здесь только для примера. Лучший пример можно найти в "Hacker Being" от Elf Qrin. Процитируем его:

"""Например, обычно, чтобы обменять содержимое двух переменных (a и b в нашем случае), наиболее употребляемое выражение заключается в том, чтобы использовать третью временную переменную:

dummy = a : a = b : b = dummy

Вместо этого, в приведённом далее способе — третья переменная не нужна , потому как здесь эксплуатируется математическое свойство бинарного оператора XOR:

a = a XOR b : b = a XOR b : a = a XOR b

Даже, если эта система, как минимум, в три раза медленнее, чем первая, потому что она требует выполнения трёх математических операций, (тем не менее, она позволяет сохранить память, которую заняла бы третья переменная), хакер наверняка будет восхищён искусностью и элегантностью этого метода, для него это похоже на японское хайку."""

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

В заключение, я расскажу о связи между хакингом и компьютерной безопасностью. Хакерство само по себе не описывает какую-либо нелегальную, злоумышленную деятельность. Некоторые (конечно), если они на самом деле этого хотят, находят способ для обхода безопасности, используя взламывающие программы, функции, или что-либо подобное, и находят неизвестную функциональность (или баг), который позволяет им сделать это. Тем не менее, многие хакеры верят, почти что религиозно, в правила, которые называют "хакерской этикой" и часто не занимаются нелегальной деятельностью, так как она помешает им (в случае поимки) заниматься хакингом далее. К сожалению, другие хакеры не уважают этику и совершают нелегальные действия. Этот вид хакеров сделал плохую репутацию "хорошим" и вскоре вокруг распространилось излишне обобщённое мнение о хакерах, как о компьютерных преступниках. Ради сохранения своих имен, идей и культурного наследия, и появилось слово "крякер", чтобы обозначить тех хакеров, которые не уважают хакерскую этику (сегодня их чаще называют "хакеры в чёрных шляпах ").

Никогда не забывайте настоящую сущность хакинга и не позволяйте вводить себя в заблуждение пропагандой СМИ. Вы вошли в целый новый мир и близки к тому чтобы испытать огромное новое чувство, будоражущее чувство хака. Чувствуйте его, наслаждайтесь им, и хакайте!