d7d1cd 0 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба Здравствуйте все! Уважаемые знатоки, подскажите, существует ли обфускатор кода для MSP430? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба Здравствуйте все! Уважаемые знатоки, подскажите, существует ли обфускатор кода для MSP430? А чем он должен отличаться от обфускатора для любого другого МК? Или вообще даже не МК, а любого си-кода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба А чем он должен отличаться от обфускатора для любого другого МК? Или вообще даже не МК, а любого си-кода? Наверное ничем :). Просто я ничего не знаю об обфускаторах, а запутать код надо. Причем у меня особенность: мой проект написан на ассемблере (около 22000 строк). Поэтому мне нужен либо обфускатор для кода на ассемблере, либо обфускатор для скомпилированной программы (если такой существует). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DimaG 0 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба Причем у меня особенность: мой проект написан на ассемблере (около 22000 строк). Поэтому мне нужен либо обфускатор для кода на ассемблере :bb-offtopic: Код на ассемблере в 22,000 строк в обфускации не нуждается Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба Это ближе к полиморфным вирусам + упаковщик и/или шифрование + оверлеи. Вопрос стоят ли усилия результата? Если в чужие руки попадет исходник, то на 95% достаточно возможности тиражирования, чему обфускация ни капли не мешает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 28 июля, 2016 Опубликовано 28 июля, 2016 · Жалоба :bb-offtopic: Код на ассемблере в 22,000 строк в обфускации не нуждается Смотря для кого :) Это ближе к полиморфным вирусам + упаковщик и/или шифрование + оверлеи. Вопрос стоят ли усилия результата? Если в чужие руки попадет исходник, то на 95% достаточно возможности тиражирования, чему обфускация ни капли не мешает. Тиражирование как раз приветствуется. Однако работа программы зависит от лицензии. Чтобы хоть как то защититься от взлома и обхода лицензии надо обфусцировать код для усложнения дизассеблинга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
d7d1cd 0 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Это ближе к полиморфным вирусам + упаковщик и/или шифрование + оверлеи. Можно подробнее об этом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба А что тут подробней в рамках поста на форуме? В рамках одного поста от мимопроходившего тема слишком большая и сложная. Вкрации: Полиморфизм кода добавляем команды которые не имеют смысла, перетасовываем используемые регистры и прочие интересные вещи для которых нужно много учения и практики. Аля: 1. Разбавить код А-Б-С до вида А-АА-Б-ББ-С где результаты АА и ББ не нужны, но в АА и ББ старательно используют результаты данных из правильных шагов. Результаты АА и ББ должны вливаться в результат, но не влиять на него 2. Если А(1) и Б(1) пользуются регистром 1. Поменять код на А(1)-(1->2)-Б(2)-(2->1). Чем больше такой лапши тем сложнее анализирующему удержать её в голове. И такого придумано много. Упаковщик-оверлей: Используем что-нибудь сверхмалое упаковывающее/распакоывающее вроде lz4. Компилируем код память, но переносим в память не стандартным стартапом, а своей оберткой, которая перед вызовом распаковывает/расшифровывает из упакованного хранилища. Память используется сразу под несколько оверлеев, из которых понятное дело активен только один. Особую радость может предоставить вложенное использование оверлея из оверлея много раз. Вот только писать всё это придется самому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Чем больше такой лапши тем сложнее анализирующему удержать её в голове. И такого придумано много. Используем что-нибудь сверхмалое упаковывающее/распакоывающее вроде lz4. Компилируем код память, Когда нибудь пробовали дизассемблировать программы? То что не используется дизассемблеры типа IDA сразу покажут. Отметят красным цветом и выкинут. Это затруднит хакеру работу максимум на пару часов. А программер чтобы сделать это затратит месяцы. Про оверлей не смешно, MSP коды выполняет из Flash. Какие еще оверлеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба из простейшего: собрать в hex, потом из hex превратить в кашу вида db 0x55,0x56,0x57 и в таком виде отдавать. те кому надо дизассемблировать это всё равно сделают, а не имея опыта дизассемблирования сражаться с кашей из db dw dd никто не станет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Когда нибудь пробовали дизассемблировать программы? То что не используется дизассемблеры типа IDA сразу покажут. Отметят красным цветом и выкинут. Это затруднит хакеру работу максимум на пару часов. А программер чтобы сделать это затратит месяцы. Да пробовал, а вы понимаете что иногда примеры приходится упрощать? Достаточно ли понятная фраза "Результаты АА и ББ должны вливаться в результат, но не влиять на него"? В любом случае я не претендую на лавры писателя защиты. Может быть Вы сможете написать на эту тему больше лучше и понятней? Про оверлей не смешно, MSP коды выполняет из Flash. Какие еще оверлеи? Бывают накладки когда пользуешься "Сообщения с Вашего последнего посещения" :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Может быть Вы сможете написать на эту тему больше лучше и понятней? Просто приходилось работать в проектах где целые микроконтроллеры с фотографии кристалла копировали и в железе воспроизводили вместе с прошивкой. А будущее обфускации несомненно в области гомоморфного шифрования Хотя мне ваш отсыл на lz4 понравился. Я уже скачал и начал портирование. Классная вещь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 29 июля, 2016 Опубликовано 29 июля, 2016 · Жалоба Полиморфизм кода добавляем команды которые не имеют смысла, перетасовываем используемые регистры и прочие интересные вещи для которых нужно много учения и практики. Аля: 1. Разбавить код А-Б-С до вида А-АА-Б-ББ-С где результаты АА и ББ не нужны, но в АА и ББ старательно используют результаты данных из правильных шагов. Результаты АА и ББ должны вливаться в результат, но не влиять на него 2. Если А(1) и Б(1) пользуются регистром 1. Поменять код на А(1)-(1->2)-Б(2)-(2->1). Чем больше такой лапши тем сложнее анализирующему удержать её в голове. И такого придумано много. Фигня всё это из прошлого века. "Анализирующий" ничего не держит в голове, на это есть компьютер. Берется самая что ни на есть обфусцированная прошивка и запускается на программном эмуляторе целевого процессора. Любые регистры, точки останова по любым условиям и декриптованный код в памяти, как на ладони. Даже IDA не всегда нужен. Ну разве что на первых шагах посмотреть правильность точки входа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться