4

Обратная инженерия

На написание этого поста меня сподвигли предостерегающие комментарии одного из здешних обитателей в духе "за тобой следят".

Обратная разработка (далее РИ) (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на них с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.

Принцип РИ состоит в том, что имея некий "черный ящик" с определенным набором логики или принципов можно составить представление о его устройстве на основе анализа данных на выходе в зависимости от того, что подается на вход. Есть еще вариант разобрать ящик и заглянуть внутрь (как делалось в случае копирования импортных микросхем), но в программировании и работе с удаленными сервисами это не всегда возможно.

Кто же занимается РИ?

Да все. Все и каждый в своей области.

Например, физика как наука. Она строит теории мироустройства, свойств материи и тд. Но! Основывается все же на многочисленных подвержденных опытах по учету следствий определенных воздействий, событий. Многократно отпуская камень и наблюдая его падение, многократно нагревая воду и наблюдая ее кипение, делаются выводы о законах мироздания. Наука пытается "отреверсить" Вселенную. На основе подтвержденных опытов строятся догадки или гипотезы о принципах (законах) природы. Выведенные уравнения не являются абсолютно точными, они совпадают с реальных положением дел лишь до определенного знака и в определенных условиях. У нас все же есть формулы для житейских расчетов, где точность даже до второго знака уже избыточна, но в прецизионных расчетах дело обстоит несколько иначе.

Литературные критики анализируют труды и биографию автора и выносят свои предположения и суждения о том, что сподвигло его на написание тех или иных строк, раскрывая детали собственно личности писателя.

Дети. Короли РИ. Они не обладают каким-либо знанием или теориями, но отлично усваивают причинно-следственные связи, учитывая даже невербальные сигналы родителей и окружения. Они быстро вырабатывают методики достижения своих желаний (хотя пока и примитивных), причем они во много схожи с методами взлома: брутфорс через непрекращающийся крик, эксплуатация уязвимостей через использование слабостей родителей (типа онжеребенок, яжмать и тп.), сбор информации через наблюдение и тп.

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

Геймеры. Это вообще непаханное поле. Ни один из действующих игровых движков не реализует принципы и законы природы достаточно точно, поэтому приходится во время игры выяснятьособенности каждого из движков и делать выводы о дальнейших действиях не на основе жизненного опыта, а на основе знания об устройстве движке и условиях срабатывания определенных событий, триггеров и тп. Обширное поле для такой деятельности мозга предоставили и предоставляют РПГ и ММОРПГ со своими системами прокачки навыков и развития персонажа. Кто-то даже публикует формулы расчета, например, урона, которые использует сама игра. Знание движка дает серьезное преимущество для победы. Часто развиваются до читеров.


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

Законодательная часть.


"Гражданский кодекс Российской Федерации (часть четвертая)" от 18.12.2006 N 230-ФЗ


Статья 1280. Право пользователя программы для ЭВМ и базы данных

3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:


1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;


2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;


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

Без крайней необходимости нам не позволяют "разбирать" чужие творения. Результатом декомпиляции/реверс-инжиниринга будет псевдокод или алгоритм, из которого родится уже новый исходный код. Если записи об обратной разработке недоступны, то доказать неоригинальность кода становится непосильной задачей (особенно если код перенесен на другую платформу). Opensource в этом случае вообще предлагает открытые исходники для всех желающих заглянуть "под капот" приложения.


На правах итога.

РИ как способ познания через опыт - очень распространенное явление, часто даже не отслеживаемое сознанием (хорошо, что его еще не запатентовали). В сферах, где подобная практика затрагивает чьи-то шкурные интересы, закон регулирует подобную деятельность во избежание плагиата, и (на мой взгляд) не очень-то справляется. Изучение "черных ящиков" - довольно увлекательное занятие, своеобразное испытание, challenge. Конечно, закон нарушать не стоит, но я придерживаюсь мысли, что лучше просто не наступать змее на хвост, потому как сделать кого-то виноватым или найти крайнего для госслужб весьма несложно.

0
Автор поста оценил этот комментарий

ЦИТ. "под капот" приложения

Что мешает лог.анализатором /осцилл снифить код, дезассемблировать и переписать на исполняемый язык.

Также метод вычисления функций cpu от импульсов I

Микровольтметр/осцилл есть в дом. лабе у любого HAMradio man, поверенный КИП унесенный из ОПК, в счет не доплат по З/П. #Habr - посты несущие дез.инфо, написанны по заказу коммерсантов. -《клонировать smart card - Вы что , не бывает》. Они не учитывают что советские хулиганы в большинстве знают English, дабы не надеяться на Green Card, а найти иностранку, а также закупать лоты на Tao/E-bay. Новая Молодежь - вся вынужденна декомпилировать ,патчить софт-это 《игры на халяву》, либо превращать любой СВЧ тюнер в SDR - по сути П.П.П. и качать Gb 《халявы》 со спутников. Т.Е. любой хулиган может набрать в yahoo.co.uk "MTK_Technical_Reference_Manual ", и переписать код прошивки BB модуля, и вот его смарт -уже базовая станция. Лишь избалованные Habr-чане зная пару функций из Аcсемблера, устроенные по блату в НИИ мнят себя умнее других.Habr-чане те кто не выиграл Green card, пытаясь искать вакан. на Linkedin,Reditt , копипастят машинный перевод, не вдаваясь в диалекты,Habr-чане любят демонстир. чужие проекты 《Open BTS》и пр. ,хотя не написали не функции из ПО. На рынках ,часто не имеющие профильн.образования дяди , сами вручную переписывали ПО на древние Siemens ,дабы зашить в emms несколько imsi sim карт. И-нета не было, секреты надежно хранили, что означает что каждый лоточник вручную писал свое ПО. Некоторые Habr-чане настолько отважны , что запускают эмулятор который за них"строчит" код и компилирует его в Асембллер. Особо отважные рискуют открывать ТА,для изучения. Детский сад. Все их проекты и тем паче ПОдолжно в "песочнице" размещать.Избалованный народ. В любой палатке 《рем.телефонов》,ребята из деревени, а также нaши братья Армяне и Узбеки ловко орудуют осциллом-сверяя импульсы на i2c/pci-e , с service manual, и виртуозно "перекатывают" сэндвич- это когда SoC CPU under RAM unit. Строго по datasheet'S прогреть плату что бы она работала годами - может любой школяр. Перекупы греют быстро ,не по правилам ,но все работает. Но любой Habr-чанен "зависнет" при слове "термопрофиль". Он не виноват, избалован родителями, внушив. ему что он "белый homosapiens". Хотя любому исседователю ПО и безопасности нужны навыки BGA монтажа, запараллелить NAND [через контроллер] дабы расшифровать данный из iPhone, в обход Anti RollBack. На рынках "каплю" SIM стачивали и конектились к ROM области дабы слить Ki и зашить в мульти sim, но для Habr-чан это из области научной фантастики. Сечйчас деревенские ребята понижая частоту и включив параллельно нагруз. резистору питания осцилл.- проводят reverse-engineering девайсов с закрытым ПО. Или номерной CPU [S/N in OTP] от ЭБУ эмулируют, обычные автомеханники. Редко кто из Si долины успевает писать в Habr, в сытые ,зажиточные 90-e годы многие успели побывать в США, помнят этот сухой и раскаленный воздух, тут как не хоти , но "кучу" дел не успеваешь. Еще есть, мягко скажем "индивиды", которые считают -《не буду делится инфо., иначе оператор перейдет на V.5/6》Если Ты ему убыток наносишь ~5% конечно перейдет.Не нужно разговаривать за чужой счет.

128 битный ключ это всего лишь 16 знаков ,по 8бит каждый. 《00-FF》 Крипто - это функции, алгебра средней школы и чуток булевых функций.Шифрование -лишь циферки X=Y-n²Алгоритмы - положены более 2000 лет назад,предками Туркмен, в Хорезме.Бинарный алгоритм возведения в степень впервые предложен Персидским математикомДжамшид ибн Масуд аль-Каши Чуть раньше Персы открыли ~2400 лет назад, в месопатамии, открыли хим.источник эл.-ФАКТ и есть в периодике JSTOR. Т. Е. задолго до опытов Л.Гальвани и А.Вольта.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества