Reverse Engineering

Reverse Engineering


Reverse Engineering (ревёрсинг, обратная разработка) — процесс пизженья восстановления исходников из конечного продукта инженерной и/или научной деятельности, интуитивно конструируя внутреннюю механику по принципу «а какие процессы должны вызвать такое вот внешнее поведение этого продукта?». Ориентируясь на нюх, так сказать. Иногда приводит к написанию собственного сорца али моделированию/разводке/пайке железячного аналога. Много их — ибо ваистену…

Тех кто взламывает программы, называют Крекерами, немнрго о них.

Крэк (также искажённое кряк и, крайне редко, крак) (англ. crack) — программа, позволяющая осуществить взлом программного обеспечения. Как правило, крэк пригоден для массового использования. По сути, крэк является воплощением одного из видов взлома, зачастую, это обычный патч. Для слова крэк используются следующие эвфемизмы: «лекарство», «таблэтка», «аспирин» и т. п.  Крэкер (также искажённое крякер) (англ. cracker) — человек, который занимается созданием крэков.

Практически любой взлом сводится к использованию одного из следующих способов:

  • Ввод серийного номера (регистрационного кода) (жарг.серийник) (англ. serial number, S/n) — взлом программы посредством введения правильного регистрационного ключа (или фразы), полученного нелегальным способом. Ключ может генерироваться на основе какой-либо информации (имени владельца ПО, характеристик аппаратной части компьютера, и т. п.), либо иметь фиксированное значение. Для генерации регистрационного ключа используется тот же алгоритм, что и в программе.Примечание1: Регистрационный код может распространяться в ключевом файле (файле лицензии) (англ. keyfile), который обычно помещается в каталог с установленной программой.
  • Примечание2: Для массового взлома, зачастую, создаётся (и в дальнейшем используется) генератор ключей(жарг. кейген) (англ. keygen сокр. от key generator) — программа для генерации регистрационных ключей (см. выше). Данный вид взлома наиболее востребован (особенно, когда программа часто обновляется или рег. ключ генерируется на основе какой-то информации (см. выше)) и поэтому наиболее ценится. Как правило, требует бо́льшей квалификации взломщика по сравнению с другими видами взлома, но не всегда.
  • Использование загрузчика (жарг. лоадер) (англ. loader) — способ обходить некоторые виды защиты ПО, заключающиеся в использовании внешних (навесных) систем защиты. Состоит в изменении определённых фрагментов программы в оперативной памяти сразу после её загрузки в эту память, но перед её запуском (то есть перед выполнением кода в точке входа).
  • Применение (бинарного) патча (часто жарг. крэк или кряк от англ. crack) (англ. byte patch) — способ, похожий на «загрузчик», но модификация производится статически в файлах программы. Как правило, это один из самых простых и быстрых способов взлома ПО.
  • Использование взломанной версии файла(ов) (англ. cracked) — способ заключается в подмене оригинальных файлов программы файлами, которые уже взломаны.
  • Использование эмулятора ключа(англ. key emulator) — способ используется для обмана защит, построенных на использовании в качестве защиты электронного ключа(как правило, подключаемого к LPT или USB порту компьютера). Заключается в снятии дампа внутренней памяти ключа. Файл с содержимым этой памяти подаётся на вход специальной программе — эмулятору, которая подключает свой драйвер-фильтр в стек драйверов и обманывает защищённую программу, эмулируя работу с аппаратным ключом. В случаях наличия в программе обращений к ключу для аппаратного шифрования участка памяти этот метод используется в связке с методом Бинарный патч.
  • Подмена официального сайта программ и/или соответствующее изменение настроек с целью обойти проверку ключа, если она была вынесена разработчиками на какой-либо интернет-ресурс (В абсолютном большинстве случаев — для предотвращения взлома, реже — для учёта и ведения статистики, сбора сведений). Чаще всего осуществляется на примитивном уровне путём модифицирования файла hosts и запуска различных эмуляторов, иногда — использование различных программ (Денвер) или использование реально существующего веб-ресурса.
  • Запрет доступа программы к интернету (жарг. заофлайнивание) заключается в комплексе действий, направленных на осуществление принудительного запрета доступа программы к интернету. Выполняется в тех случаях, когда программа требует активации лицензионного ключа через интернет (как правило, официальный сайт разработчика), либо в случаях, когда программа связывается с сервером разработчика для обмена данными или обновления. Как правило, устанавливается специальная утилита, которая блокирует доступ программы в сеть интернет. Это действие, обычно, производится после введения ключа, сгенерированного кейгеном.

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

Этот список не является исчерпывающим, а лишь обозначает наиболее встречаемые способы взлома.

Вид взлома, в большинстве случаев, обусловлен видом защиты. Для некоторых защит возможно использовать различные виды взлома, для других — способ может быть единственным.

Интересные статьи:

Выгодно ли работать крэкером программ-http://www.infocity.kiev.ua/hack/content/hack078.phtml

Кто такой Cracker / Кракер- https://it-sektor.ru/kto-takoyi-cracker-/-kraker.html

Дизассемблер - https://ru.m.wikipedia.org/wiki/Дизассемблер

Книги к Дизассемблеру:

  • Владислав Пирогов. Ассемблер для Windows. — СПб.: БХВ-Петербург, 2007. — 896 с. — ISBN 978-5-9775-0084-5.
  • Владислав Пирогов. Ассемблер и дизассемблирование. — СПб.: БХВ-Петербург, 2006. — 464 с. — ISBN 5-94157-677-3.
  • Крис Касперски, Ева Рокко. Искусство дизассемблирования. — СПб.: БХВ-Петербург, 2008. — 896 с. — ISBN 978-5-9775-0082-1.

Все эти книги будут на Форуме Troyhack

ВидеоКурсы так де доступны на форуме: https://troyhack.xyz/threads/videokursy-programmista-i-krehkera-nabor-instrumentov.1535/


By Hacker

Report Page