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

Немного обо мне. Я "кодирую" еще со средней школы. Тогда я кодировал на C, и код, который я сделал, заключался в создании простых программ, которые спрашивали вас, сколько конфет вы съели сегодня, а затем много раз печатали «Идеальная цель для диабета».

Теперь, когда я думаю об этом, я был проклятым ребенком.

Только когда я пошел в старшую школу, я начал больше уделять внимание программированию, и моя школа мне очень помогла. В школе меня учили Python. В последнее время я также пытался освежить свой C, что не является моей самой сильной стороной на данный момент, но я думаю, что из всего, что я узнал и заметил, у меня есть несколько отличных предложений для начинающих. Я дам несколько советов, которые вы можете применить на любом языке, на каком захотите, всем, кто хочет меня выслушать. В этом руководстве не будет сосредоточено внимание на самом взломе, потому что кодирование - это кодирование. Но я бы наверняка использовал несколько примеров того, как вы можете использовать свой код во взломе.

Считайте эту статью руководством для новичков.

Теперь важная часть.

Выберите язык

Ха, только на одном языке, Эллиот? Звучит не слишком сложно. Вы знаете ... Я уже знаю 5 других языков, потому что я написал программы Hello World на всех из них. Но по какой-то причине я не умею

Вы никогда не будете полностью знать такие языки, как Python, с настолько огромными библиотеками, что это вас волнует. Но вы можете выучить достаточно, чтобы чувствовать себя достаточно комфортно, чтобы сказать, что вы свободно говорите на нем. Беглость - это не написание программ hello world. Вы узнаете, когда будете достаточно свободно говорить на каком-либо языке.

Так что выберите язык. Будь то C, C ++, Python, Java или Javascript. Погоди. Не двигайся. Не важно что. Теперь вы будете усердно работать над овладением именно этим языком. Помните, что у каждого языка есть свои преимущества и недостатки. У Python есть отличные библиотеки, вы можете делать так много интересных вещей. От автоматизации повседневных веселых занятий до великолепных веб-сайтов с помощью Flask. Но это язык более высокого уровня, и если вы хотите делать более низкоуровневые вещи, вам нужно будет выбрать язык более низкого уровня, такой как C, который является абсолютным фаворитом разработчиков вредоносных программ. Автоматизировать в Python очень просто. То, что я делал то же самое на C, выглядело как заноза в заднице, когда я впервые увидел это lmao.

Ну что теперь?

Как поднять вопрос

Возьмите уроки и посмотрите их. Не относитесь к источнику слишком властно. Часто один источник не может научить нас чему-то должным образом. У вас есть весь Интернет, чтобы все понимать. Зачем придерживаться одного веб-сайта или одного учебного канала?

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

Полюбопытствовать. Google - твой приятель. Попробуйте создавать свои собственные вещи. Попробуй сделать глупое дерьмо, которым ты никогда не воспользуешься. Поверьте мне, вот как я начал. Не нужно быть неуверенным в себе. Будьте скромны, но открыто говорите, на каком уровне вы находитесь, и наслаждайтесь программированием.

Вот как я рекомендую вам поступать:

Обложка темы

Обязательно ведите темы в хронологическом порядке. Конечно, скоро наступит момент, когда вам не нужно будет следовать структуре, и вместо этого вы будете знать, чему учить себя. Но вначале следуйте структуре.

Используйте YouTube, SoloLearn, Medium, книгу или документацию (удачи, lmao). Покройте одну тему. Или пару, ТОЛЬКО ЕСЛИ ВЫ МОЖЕТЕ ИХ ПРАКТИЧЕСКИ ПРАКТИЧЕСКИ. Сначала я не рекомендую освещать слишком много тем за день. Просто накройте достаточно, чтобы вы могли сделать что-нибудь маленькое, бесполезное, но веселое.

Вот отличный недооцененный канал YouTube, который мне нравится: Калеб Карри

Он преподает вещи всесторонне, но я все же рекомендую приобрести другую, более надежную структуру, поскольку он тратит на вещи слишком много времени. Но он потрясающий, хотя его серия не завершена / пока является частной.

Я не собираюсь рекомендовать здесь ресурсы, но я думаю, что вы сами найдете множество ресурсов. Вместо этого я попытаюсь сосредоточиться на более широкой картине.

После обсуждения темы,

Практика

Практика Практика Практика Практика Практика Практика Практика Практика Практика Практика Практика Практика Практика Практика

Не могу сказать, насколько это важно. В первые дни после изучения чего-либо, ПОЖАЛУЙСТА, попробуйте написать это еще раз 2–3 раза. Поверьте, это очень помогает. Хотел бы я, чтобы кто-нибудь сказал мне об этом, когда я только начинал. Это дает вам сцепление. И вам нужно владеть своими концепциями. Вам нужно хорошо их использовать. Вот где приходит терпение. Видите ли, когда вы будете кодировать эти программы 2–3 раза, я хочу, чтобы вы отпустили все тенденции и спокойно сосредоточились на клавиатуре и мониторе.

Когда вы наберете их 2–3 раза, часто то, чего вы не понимали, начинало поражать вас. Не как пьяный папа, а скорее как мягкий кокетливый образ, Чтобы ты радость учения унесла тебя на небеса. Ладно, подожди, радость обучения сильно ударит по тебе. Я сказал это, потому что я хотел однажды сказать «пьяный папа Имао».

Кроме того, когда вы их напечатаете, вы поймете это дерьмо, вы не поймете, как это работает или как работает другое.

Итак, вы попрактиковались в простых вопросах, которые вам задавали из ваших ресурсов / Тот случайный индеец, который снял видео на эту тему, но объяснил вам лучше, чем ваши школьные учителя.

Что теперь?

Делайте бесполезные вещи

Я не могу этого достаточно подчеркнуть. ДЕЛАЙТЕ БЕСПОЛЕЗНЫЕ ВЕЩИ. Удовольствие от его создания такая особенная. Так что, если ваша программа представляет собой простой список дел, который непрактичен из-за ограничений, наложенных на вас из-за ваших текущих знаний? Или это просто программа, которая перемещает вашу мышь каждые пару минут, чтобы вам не приходилось менять настройки, чтобы ваш монитор оставался открытым дольше, потому что вы ленивы? Никого не волнует. Это ваши проекты, у вас есть все права на их реализацию. Эти бесполезные вещи доставят тебя по местам, мой друг. Они вызовут у вас любопытство. Вы поймете, скольким гениальным вещам вас научат пользователи из stackoverflow. Пожалуйста, не бойтесь использовать библиотеки. Поверьте мне, просто используйте их. Вам не обязательно понимать, как они работают, научитесь их использовать. Конечно, это только для Python. Кроме того, не начинайте использовать библиотеки в первый день изучения Python. Пожалуйста.

Пожалуйста, НЕ СМОТРИТЕ РУКОВОДСТВА БЕЗ КОМПЬЮТЕРА. Есть вещи, которые синхронизируются с толстым черепом новичка, когда они пытаются его написать.

Полюбопытствовать. Постарайтесь все знать.

Но, Эллиот, у меня возникают глупые вопросы, на которые я не могу найти ответы. Что я делаю? StackOverFlow - это gr8 m8 (не обращайте внимания на gr8 m8, который был для шутки)

И если у вас есть более конкретные вопросы, у меня есть замечательный сервер Discord, на который я обращаюсь, когда чувствую необходимость задать эти глупые вопросы: https://discord.gg/X5QQrGB73v

Это называется "Поддержка кодирования". Никто не просил меня продвигать сервер, у меня также нет достаточно высокого ранга, чтобы иметь другой мотив для его продвижения. Это просто очень приятное нетоксичное сообщество, которое всегда готово помочь вам с помощью ваших глупых вопросов.

Повторить

Повторите процесс. Каждый раз вы будете лучше, чем в прошлый раз, когда вы повторяли цикл. Последовательность - ключ к успеху. Пока вы не попытаетесь пригласить девушку на свидание. Тогда ты подонок.

А иногда вам захочется сделать перерыв. Если да, то рекомендую взять. А потом возвращайся, когда захочешь. Просто убедитесь, что зазор не слишком велик. Для меня меня поддерживала конкуренция. Если кто-то был лучше меня в программировании в моей школе однажды, я удостоверился, что на следующий день я стал вдвое лучше, чем они. Конечно, не токсичен. Но позитивная конкуренция, в которой вы скромны, приветствуется.

Теперь о взломе.

Допустим, вы потратили достаточно времени на обучение программированию. Может быть, через 5–6 месяцев, а теперь вы захотите взломать его. Скажите, Эллиот, как мне написать программу, которая позволит мне управлять компьютером друга, зная только его IP-адрес? Что ж, секрета нет. Вам нужно будет понять особенности того, как все работает, и какие существуют ограничения, а также как вы можете творчески их обойти. Также, например, Пожалуйста, не делайте ничего незаконного, lmao.

Хакерство - это скорее образ мышления. Настроение исследовать, ломать и настраивать все. В сочетании с любопытством и большим количеством времени это может занять вас. Все исследователи в области безопасности в душе беспокойные подростки. Кто использует свои знания и любопытство, чтобы сделать мир безопаснее.

Итак, вернемся к программированию. Как вы взламываете после того, как знаете язык программирования? CTF - лучший способ попрактиковаться и понять вещи. Когда я пытаюсь взломать CTF в Интернете, я обычно использую python. В Python я больше всего использую библиотеки запросов и потоков. Конечно, со временем вы сможете их забрать. Вот несколько проблем, с которыми вы можете попытаться отточить свои навыки взлома Интернета:

CUPP: Обучает грубой силе. Я действительно рекомендую посмотреть, как делается каждый запрос, а затем попытаться решить CTF самостоятельно.

404 Not Found: это слишком сложно для новичка, но я все еще связываю его, потому что он использует некоторую автоматизацию, для которой мне пришлось написать собственный сценарий.

Пароль: это забавный CTF, который вы легко решите, если напишете для него скрипт;)

Вышеупомянутые CTF довольно сложны для новичка. Если вы новичок, тогда CTF в hacker101, лаборатории portswigger, CTF в picoCTF действительно хороши для начала, потому что там вы понимаете, как сначала выполнять действия вручную, когда автоматизация не требуется, и они учат вас различным видам уязвимости, которые могут присутствовать на веб-сайтах.

Если вы хотите заняться реверс-инжинирингом, попробуйте:

Crack Her: требует, чтобы вы использовали основы.

Пожалуйста, постарайтесь понять, как все работает, прежде чем пытаться использовать их, иначе вы упадете ниц.

Это было для статьи. Я надеюсь, что у вас есть что-то из этого, и у меня есть шанс отдать дань этому удивительному сообществу. Любая конструктивная критика приветствуется, и мои личные сообщения в твиттере открыты для любой необходимой помощи.

Дополнительные ресурсы:







Последний, в частности, даст вам некоторое хардкорное понимание концепций.