R0 CREW

C чего начать?

Благодарю всех откликнувшихся в моей предыдущей теме. Прочитав все советы и рекомендации я сделал для себя некоторые выводы. И теперь с ново возник вопрос: с чего мне нужно начать? Я хочу освоить реверс-инжениринг. Но я не знаю даже основ программирования. Поисковые системы на запросы программирование для чайников выдают кучу ответов, выбрать из которых то что нужно, довольно таки сложно. Хотелось бы услышать ваши рекомендации, по поводу обучению программированию с нуля. Раньше я никогда не имел с этим дело, поэтому некоторые термины мне не понятны, так что не пинайте сильно, если я буду переспрашивать. 1 Рассчитываю на вашу помощь. :slight_smile:

Как не спешно это звучит, но я начинал именно с этой книги c++ для чайников :slight_smile:
В ней отлично описываются как основы языка, так и работа с классами. Если не захочешь останавливаться на достигнутом, то после можешь прочесть Стив Макконнелл - Совершенный код, но только после, ты уже должен знать как пишутся программы.

BoRoV давай холиварить насчет классов ))) Я говорю что для начала они не нужны! А ты что скажеш? )

Вот же я… такой холивар на корню зарублю… :smiley:

Да, для начала они ненужны. ) Но они там тоже рассматриваются на простых примерах, т.к. являются частью с++.

Пора вывести на главную надпись - ‘C чего начать? С книги Д. Юричева “Реверс-инжиниринг для начинающих”’

Осмелюсь предположить что в ней идет непосредственное обучение реверс-инжинирингу, которое подразумевает знание основ программирования у обучаемого. Если это так, то мне ещё рано её смотреть.

Начать стоит с “Дневников чайника”. Если после прочтения запал не пропадет, то задавать вопросы дальше.

Тут товарищи холиварь, не холиварь, а пазлов с каждым днём становится всё больше. А общей картинки пока не видно.

Ну а кому сейчас легко.

Я тоже учусь реверсить понемногу, могу помочь в некоторых вопросах. Но у меня относительно скромные знания))

Тут алгоритм предельно простой: сначала “Дневники чайника”, дальше, как уже советовали выше, книгу Д.Юричева “Введение в reverse engineering для начинающих”, но так как в ней сопоставляются листинги на си и ассемблере, то сначала неплохо бы изучить K&R. При этом обязательно выполнить все упражнения после каждой главы(к тому же их там немного) и желательно хорошо разобраться со ссылками и указателями. В процессе чтения стоит поиграться с вводом-выводом, циклами, ветвлениями, массивами, файлами и собственноручно реализовать общеизвестные алгоритмы: числа Фибоначчи, разные виды сортировок, поиска и так далее. На этом этапе уже появится некоторое представление о том, как пишутся и работают программы, так что уже смело можно(и даже нужно) переходить к изучению трудов Юричева. А чтобы не было скучно, параллельно очень рекомендую известный цикл статей “Введение в крэкинг с нуля, используя OllyDbg”.

Вот и весь план на ближайшие несколько месяцев, дерзай.

Благодарю. Товарищи, у меня ни одна программа не компилирует. Может windows 8.1 не подходит? Pelles C-выдает ошибку компиляции, Dev-C++ закрывается из-за ошибки, которую винда пытается исправить. Есно у неё не получается. wacko.gifwacko.gifwacko.gif

Спасибо огромное!!!

IDE конечно выбор каждого личный, но попробуй Code::Blocks. Просто для того что бы увидеть и убедится что проблема не в IDE а в коде и наоборот. + там можно выбирать из множества компиляторов которые есть в системе. Качай с gcc компилятором.

Microsoft Visual Studio или Qt Creator.

  • Выучить С и C++. Начинать с С++ “Джесс Либерти, Освой самостоятельно С++ за 21 день”, потом “Джес Либерти, Освой самостоятельно C за 21 день”. Выполнять все задания из этих книг.
  • Выучить ассемблер. “Кип Ирвин, Язык ассемблера для процессоров Intel”
  • Выучить английский язык.

После того, как будут выполнены первые три пункта задаться вопросом, готов ли ты потратить 10 лет жизни на изучение реверсинга? Твоя цель? Стоит ли она потраченных лет жизни?

И уже только потом, приходи и задавай вопросы касаемые реверсинга, а пока учи программирование…

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

Всем спасибо. По поводу синтаксиса, я не забыл и уже нашел страницу с книгой. Очень много информации за последнюю неделю. Поэтому сложновато немного. :slight_smile: Буду учить матчасть.

Собственно для того чтобы познать дзен надо стать “ботаном”, ибо изучать придется многое. :slight_smile:

Если возникают сложности с компиляцией на Windows 8.1, то поставьте VirtualBox с образом ubuntu (ну или смените ОС на linux, если действительно очень хотите учиться. Так как причин сидеть на винде с каждым днём всё меньше и меньше). Во многих книгах по Си предлагают использовать gcc, а новичку, имхо, проще там компилировать и учиться. Хотя с простыми примерами и в Visual Studio проблем нет. Причём, если вы учащийся (студент или школьник) можете получить бесплатный экземпляр этой самой студии.

P.S.

“Давай бояться вместе” ©

Благодарю. Я попробую поставить виртуал бокс. И я далеко уже не студент. Как сказал один киногерой “Я чувствую себя глубоким стариком.” )))))) Да, давайте учиться вместе. )))) А администрация форума может быть поможет созданием раздела для новичков. Где будет информация о том с чего и как начать.