Как стать хакером
- Родительская категория: Кодинг
- Категория: Общие вопросы
- Опубликовано 18 Январь 2015
- Автор: HandyCat
- Просмотров: 5522
Вопрос:
Я сейчас на 3 курсе по специальности программирование, но мы до сих пор делаем только глупости а ля рандом кубика. Хотелось бы изучать программирование на серьезном уровне, чтобы стать настоящим программистом - хакером в хорошем ссмысле этого слова, чтобы постепенно научится делать всякие интересные вещи (такие, как кейлогер The Rat! :). Не могли бы вы посоветовать сайты, литературу, направление так сказать от знаюшего азы программирования до продвинутого. Может быть подсказать место где поработать, дабы научится вживую. Материалов очень много, но даже с моими навыками поиска, пока ничего стоющего и мне подходящего не нашел.
Ответ:
Как ни странно, несмотря на кучу доступной информации в интернете (уже лет восемь книги в магазине не покупал), хорошей литературы мало. Большинство - это пошаговые алгоритмы типа: "Нажать на клавишу такую-то, в выпадающем меню выбрать то-то, в результате у вас получится следующее". Людей обучают не думать, а совершать монотонные, одинаковые действия. В этом смысле, работа програмиста, да и некоторых т.н. хакеров ничем не отличается от работы крепостного крестьянина или раба: посеял зерно->вырастил урожай->собрал->отдал хозяину->получил еду(зарплату)->купил зерно->посеял зерно.... Хотя, такое положение устраивает большинство, об этом пишут газеты, а газеты, как в песьне поется, всегда правы. Еще один момент. В груде мусора очень сложно найти рациональное зерно. В данном случае свобода выбора, так сказать поворачивается задом. На самом деле, реальная информация конечна и закончена. В правильной форме изложена в нескольких книгах, статьях. Чтобы узнать , где конкретно и как её извлечь, необходим учитель хороший, да где же его взять. Нда..., впрочем учеников хороших также сложно найти, как и хороших преподавателей. Итак, перейдем к конкретике.
Вступление:
Во-первых, необходимо определиться с конечной целью учебы, которая зависит от Ваших предпочтений. На этом основании выбрать соответствующий предмет и уделять ему максимальное внимание. Всю жизнь (или хотя-бы часть жизни) заниматься тем, к чему не лежит интерес - преступно!
Во-вторых, учить английский язык и желательно посещать англоязычные сайты.
Задача:
Написание неординарных программ, со специфическими возможностями и особенностями в операционной системе Windows. Уровень - начинающий.
Общий подход:
Просто, понятно, быстро.
Решение (все процессы можно выполнять паралельно):
1. Формируем понимание того, чем мы вообще занимаемся и как это работает :).
Литература:
-Чарльз Петцольд: "Код. Тайный язык информатики".
2. Изучаем языки программирования.
Необходимо два обязательных языка - СИ и Ассемблер.
Литература:
-Гербердт Шилдт "Полный справочник по С" или (может даже лучше), "Полный справочник по С++" - купить в книжном варианте, издание после 2007 года.
-Юров В. "Ассемблер учебник", "Ассемблер практикум", "Специальный справочник" - купить в книжных вариантах, использовать как справочники.
-http://wasm.ru/ .
3. Изучаем, основы программирования в Windows (WinApi).
Литература:
-Петзолд Ч. Программирование для Windows ® 95 в двух томах.
-Александр Фролов, Григорий Фролов: "Операционная система Windows 95 для программиста"; "Глобальные сети компьютеров. Практическое введение в Internet, E-Mail, FTP, WWW и HTML, программирование для Windows Sockets"; "Программирование для Windows NT" (части 1 и 2); "Графический интерфейс GDI в Microsoft Windows"; "Мультимедиа для Windows"
-http://www.firststeps.ru .
-(Туториалы Iczelion'а о Win32 API - http://wasm.ru/publist.php?list=1 ).
-C++ глазами хакера М. Фленов.
4. Изучаем отладку и дизассемблирование программ.
- http://wasm.ru/ (цикл статей Введение в крэкинг с нуля, используя OllyDbg).
- OllyDbg.
- IDA pro последней версии.
5. Программируем.
Среды программирования:
-Ассемблер: RadASM - и только он! из ассемблеров лучше masm32 (http://www.masm32.com/), но есть FASM, NASM и т.п. посмотрите в хелпе к RadASM.
-Си:
Среды разработки со встроенными компиляторами:
-Pelles C или
-Dev-C++ (+ ResEdit(обязательно) - http://www.resedit.net/) - поддерживает и С++
6. Изучаем системы безопасности при работе в интернет
-Правовые понятия (да,да,да :)).
-практическое применение основ сети интернет(прокси, использование Who Is, расшареные ресурсы и пр.)
-Журнал {Журнал хакер читаем регулярно - на сайте есть практически все номера.
-Общаемся в сети, собираем исходники и т.п.