Программирование
Хакерами называют и тех, кто создает код, и тех, кто отыскивает и использует его уязвимости. Несмотря на разные конечные цели, обе эти группы хакеров решают свои задачи схожими методами. И поскольку умение программировать помигает находить уязвимости программ, а умение находить уязвимости помогает писать программы, многие хакеры заниматься и тем и другим одновременно. Интересный хак можно найти как в примерах написания элегантного кода, так и в методах поиска уязвимостей. Фактически хакинг – это нахождение интересного и необычного решения какой-либо задачи.
Хаки, применяемые в программных эксплойтах, как правило, основаны на использовании законов функционирования компьютера непредусмотренными способами с целью обхода системы защиты. Аналогично и в обычных программах хаки используют законы функционирования компьютера новыми и творческими способами, но их конечная цель – получить более эффективный или короткий код, не обязательно с целью взлома защиты. Из бесчисленного множества разных программ, решающие конкретные задачи, большинство громоздкие и переусложнены и неряшливы, и лишь немногие компактны, эффективны и аккуратны. Такие программы считаться элегантными, а искусные и изобретательные программы, приводящие к такой эффективности называться хаками. Хакеры обеих противостоящих групп высоко ценят и красоту элегантного кода и остроумие удачных хаков.
С точки зрения бизнеса важнее быстро создать работающий код, чем искать искусные хаки и добиваться элегантности. Благодаря экспоненциальному росту скорости вычислений и объема памяти, экономически нецелесообразно тратить лишние часы на то, чтобы сделать код чуть более быстрым и эффективно использующим ресурсы современного компьютера с гигагерцевой тактовой частотой и гигабайтной памятью.
Новая функция обратит на себя внимание рынка, а оптимизация по скорости и памяти большинство пользователей не заметит. Когда все определяется в конечном счете деньгами, тратить время на искусные хаки для оптимизации просто нет смысла.
По-настоящему оценить элегантность программы могут только хакеры – компьютерные энтузиасты, конечная цель которых не прибыль, а желание выжать из своего старенького компьютера все, на что он способен; создатели эксплойтов, которые пишут изумительные крохотные фрагменты кода, способные проскользнуть сквозь узкую щелочку в системе защиты; все, кого увлекает поиск лучшего из возможных решений. Это те, кто действительно любит программировать, по-настоящему ценя красоту элегантного кода и остроумие изобретательного хака. Чтобы применять эксплойты, необходимо освоить программирование, поэтому последнее послужит для нас естественной отправной точкой.
© ООО «Знанио»
С вами с 2009 года.