#------------------------------------------------------#
# Code Morpher aka MorphMePlease
#------------------------------------------------------#
Решение для защиты (кода) ваших проектов от ручного и динамического анализа, копирования алгоритмов, бинарного сравнивания, усложнения реверсинга, взлома лицензий, генерации уникальных сборок бинарных файлов и т.д.
Решение именно обфусцирует код, а не просто генерит треш код вокруг полезного кода.
Условия:
Стоимость 0.25 BTC
В стоимость входит годовая поддержка решения и обновления, багфиксы.
Решение накрыто протом, защита от копирования, исходный код не входит в поставку.
Решение поставляется в виде CLI инструмента.
В сделку входит передача морфера, помощь в установке, поддержка проекта в течении года.
В проект вшит индивидуальный токен, привязанный к профилю покупателя.
Покупатель приобретает продукт морфера в личных целях и обязуется не распространять в паблик и не передавать
третьим лицам морфер и другие части проекта, а так же обязуется не оказывать услуг по морфингу чужих проектов на любой основе.
Не русскоязычных просьба не беспокоить, сделки не будет.
Сделка осуществляется исключительно через гаранта, автогарант форума.
Первый контакт, верификация ч\з пм.
Подробности, примеры морфинга при личном общении.
# Code Morpher aka MorphMePlease
#------------------------------------------------------#
Решение для защиты (кода) ваших проектов от ручного и динамического анализа, копирования алгоритмов, бинарного сравнивания, усложнения реверсинга, взлома лицензий, генерации уникальных сборок бинарных файлов и т.д.
Решение именно обфусцирует код, а не просто генерит треш код вокруг полезного кода.
У вас должно быть более 20 сообщений для просмотра скрытого контента.
MorphMePlease - проект, в котором реализованы различные техники обфускации исходного кода на Си\Си++*.
Под обфускацией / морфингом подразумевается трансформация кода с сохранением изначальной логики и работоспособности и кардинально отличающимся результатом бинарного кода после компиляции.
Морфер использует библиотеку libclang для парсинга Си кода в AST репрезентакцию и работает с ней.
Морфер умеет обрабатывать: строки, мат выражения, функции, аргументы, вызовы, циклы, условия, переменные, goto, switch, if, if-else блоки.
Морфер устроен таким образом, что не вызывает агрессии эвристических анализаторов.
Морфер завязан на конфиг и берет все настройки из него - конфиг и настройки от морфера можно посмотреть в файле config.ini.
Морфер работает с оптимизацией компиляторов, используя различные методы (непрозрачные предикаты, сложные расчеты, результаты выполнения WinAPI функций, стек) для невозможности свертки кода при компиляции.
Все уровни трансформации (морфинга \ обфускации) кода завязаны на единый обработчик, который в зависимости от входных данных, универсально настраивает параметры алгоритмов, трансформирующих проходов и связей на всех уровнях обработки, с учётом единого seed для настойки случайной генерации (initial seed).
Для тонкой настройки доступен конфигурационный файл с широкими возможностями, в котором можно тонко настроить все возможные параметры генерации и обработки кода.
Поддержка платформ:
+ x86
+ x64
+ arm
Поддержка компиляторов:
+ Vc201х, Vc202x
+ Clang 8+
Для чего это нужно:
1. Обход детектов в статике (сигнатуры, эвристика);
2. Обход детектов в динамике (детекты в памяти, детекты по карте апи вызовов);
3. Усложнение анализа алгоритмов работы как на уровне статических инструментов анализа, так и для динамических с использованием symbolic execution;
4. Усложнение реверсинга, изучения процесса работы и копирования алгоритмов в дизассемблированном виде;
5. Изменение графа потока исполнения (CFG) и глубокое запутывание логики работы программы;
6. Изменение карты вызовов WinAPI, их последователей и расширение таблицы импорта;
#------------------------------------------------------#
# Возможности морфера:
#------------------------------------------------------#
+ 1. Constant unfolding (values morphing) через MBA (Mixed Boolean-Arithmetic Expressions) - морфинг константных значений переменных.
Результат: С помощью мат. выражений (формул) с помощью MBA (Mixed Boolean-Arithmetic expressions) и непрозрачных предикат морфятся числовые значения и подставляются вместо оригинальных. Результат выполнения формул эквивалентен оригинальному значению.
+ 2. Basic block opaque predicates morphing - генерация (несворачиваемых оптимизаторами) непрозрачных предикат, направляющих логику работы и поток управления рабочего кода.
Результат: Блоки кода IF, IF-ELSE, SWITCH, FOR, WHILE накрываются дополнительными условиями с помощью мат выражений (формул) выражений кода с помощью MBA (Mixed Boolean-Arithmetic expressions), переходы по которым невозможно предстказать без просчета результата.
+ 3. Symbolic execution protection - защита когда от постмвольного исполнения с помощью несворачиваемых циклов с расчётами, от которых зависит дальнейшая логика, переплетенная с результатами выполнения предыдущих расчетов.
+ 4. String encryption - шифрование строк. Строки расшифровываются в динамике, хранятся в виде кода а не в данных, не попадают в секцию data (опционально), можно добавить любые алгоритмы шифрования и завязывать расчет ключей на пункт 3.
+ 5. Smart trash-code generation - генератор умного мусорного кода, который не оптимизируется компилятором и не снимается механизмами свертки блоков кода (во время дизасма и эмуляции). Умеет учитывать заданную конфигом глубину генерируемого кода и основательно связывать логику на уровне мат. выражений, циклов, условий и функций.
Результат: Граф потока управления, блоки if, if-else, for, while, do-while, switch обрабатываются генератором кода, который не сворачивается, делает различные логические и арифметические действия. Генерируются случайные фейковые функции, которые вызываются в процессе исполнения кода, не влияют на логику работы, но запутывают динамические и статические анализаторы.
+ 6. Executable fake functions generation - генерация используемых исполняемых функций и вызовов их в коде. Вызовы функций формируются на основе построенного графа со случайными ветввлениями с просчитыванием карты вызовов и защитой от рекурсии.
+ 7. Function calls obfuscation - обфускация вызовов оригинальных функций цепочкой подставных функций, тем самым нарушая логику динамических сигнатур (подсчет кол-ва вызовов в глубину) и перемешивание аргументов функций с сохранением рабочей логики.
Результат: Граф потока управления вызова функций изменяется, это влияет на логику статических\динамических сигнатур, запутывает анализаторы. По кол-ву вхождений в функцию\ по количеству используемых аргументов для вызова функций.
+ 8. Legitimate strings generator - генерация текстовых строк, спаршенных с белых бинариков из системной директории windows + эмитация полезной работы с ними с помощью стандартных функций для работы со строками.
+ 9. Executable fake winapi generation - генерация случайных (безопасных) исполняемых winapi функций (с псевдо-правильными аргументами) с направлением логики работы в зависимости от результата выполнения.
- 10. Spaghetti basic block morphing (control flow morphing) - перемешивание блоков кода между собой, связывая последовательности через цепочки goto прыжков. (поддержка опции зависит от компилятора)
+ 11. Operations function replacement - замена мат операторов (+,-,*) обфусцированными аналогами или врапперами в отдельных функциях.
+ 12. Expression morphing - обфускация выражений с помощью добавления новых многоуровневых выражений, не влияющих на логику и работоспособность алгоритмов.
Результат: Дизассемблированный код становится не читаемым, сложным к восприятию логики и анализу, противодействует средствам анализа.
- 13. Control flow graph flattening - трансформация кода в конечный автомат с управлением через диспетчеризацию с полноценной сверткой циклов, условий, try..catch блоков.
+ 14. Function args obfuscation - обфускация аргументов реальных функций, тем самым нарушая сигнатуры по местам вызова функций и переходов.
+15. Dynamic antidebug and antitrace
Благодаря генерации фейковых функций и фейк winapi функций (работы с указателями) при дебаге такого файла дебагеры вылетают. (ollydbg2, x64dbg).
Ида по-умолчанию не может даже загрузить весь граф.
Результат: Граф потока управления, вся логика переходов, числовые значения, блоки if, if-else, for, while, do-while, switch обрабатываются условными переходами, результат которых невозможно предсказать без просчета. Морфятся вызовы функций, выражения, числовые значения.
Поверх этой логики генерируется невырезаемый треш код (if, if-else, for, while, do-while, switch, api calls, function calls, fake functions, math expressions, local & global variables), мусорные фейк функции, которые вызываются в процессе исполнения кода, не влияют на логику работы, но запутывают динамические и статические анализаторы. Все генерируемые блоки кода полностью рандомизированны, невозможно выявить паттерны генерируемых блоков кода. Используется контроль уровеня глубилны генерации кода - можно вариативно указывать через конфиг (config.ini).
Результат: Граф потока управления, вся логика переходов, числовые значения, блоки if, if-else, for, while, do-while, switch обрабатываются условными переходами, результат которых невозможно предсказать без просчета. Морфятся вызовы функций, выражения, числовые значения. Отморфленый код, не влияет на логику работы, но запутывает динамические и статические анализаторы.
#------------------------------------------------------#
# Результат работы:
# Что изменится после обработки проходами:
#------------------------------------------------------#
Под обфускацией / морфингом подразумевается трансформация кода с сохранением изначальной логики и работоспособности и кардинально отличающимся результатом бинарного кода после компиляции.
Морфер использует библиотеку libclang для парсинга Си кода в AST репрезентакцию и работает с ней.
Морфер умеет обрабатывать: строки, мат выражения, функции, аргументы, вызовы, циклы, условия, переменные, goto, switch, if, if-else блоки.
Морфер устроен таким образом, что не вызывает агрессии эвристических анализаторов.
Морфер завязан на конфиг и берет все настройки из него - конфиг и настройки от морфера можно посмотреть в файле config.ini.
Морфер работает с оптимизацией компиляторов, используя различные методы (непрозрачные предикаты, сложные расчеты, результаты выполнения WinAPI функций, стек) для невозможности свертки кода при компиляции.
Все уровни трансформации (морфинга \ обфускации) кода завязаны на единый обработчик, который в зависимости от входных данных, универсально настраивает параметры алгоритмов, трансформирующих проходов и связей на всех уровнях обработки, с учётом единого seed для настойки случайной генерации (initial seed).
Для тонкой настройки доступен конфигурационный файл с широкими возможностями, в котором можно тонко настроить все возможные параметры генерации и обработки кода.
Поддержка платформ:
+ x86
+ x64
+ arm
Поддержка компиляторов:
+ Vc201х, Vc202x
+ Clang 8+
Для чего это нужно:
1. Обход детектов в статике (сигнатуры, эвристика);
2. Обход детектов в динамике (детекты в памяти, детекты по карте апи вызовов);
3. Усложнение анализа алгоритмов работы как на уровне статических инструментов анализа, так и для динамических с использованием symbolic execution;
4. Усложнение реверсинга, изучения процесса работы и копирования алгоритмов в дизассемблированном виде;
5. Изменение графа потока исполнения (CFG) и глубокое запутывание логики работы программы;
6. Изменение карты вызовов WinAPI, их последователей и расширение таблицы импорта;
#------------------------------------------------------#
# Возможности морфера:
#------------------------------------------------------#
+ 1. Constant unfolding (values morphing) через MBA (Mixed Boolean-Arithmetic Expressions) - морфинг константных значений переменных.
Результат: С помощью мат. выражений (формул) с помощью MBA (Mixed Boolean-Arithmetic expressions) и непрозрачных предикат морфятся числовые значения и подставляются вместо оригинальных. Результат выполнения формул эквивалентен оригинальному значению.
+ 2. Basic block opaque predicates morphing - генерация (несворачиваемых оптимизаторами) непрозрачных предикат, направляющих логику работы и поток управления рабочего кода.
Результат: Блоки кода IF, IF-ELSE, SWITCH, FOR, WHILE накрываются дополнительными условиями с помощью мат выражений (формул) выражений кода с помощью MBA (Mixed Boolean-Arithmetic expressions), переходы по которым невозможно предстказать без просчета результата.
+ 3. Symbolic execution protection - защита когда от постмвольного исполнения с помощью несворачиваемых циклов с расчётами, от которых зависит дальнейшая логика, переплетенная с результатами выполнения предыдущих расчетов.
+ 4. String encryption - шифрование строк. Строки расшифровываются в динамике, хранятся в виде кода а не в данных, не попадают в секцию data (опционально), можно добавить любые алгоритмы шифрования и завязывать расчет ключей на пункт 3.
+ 5. Smart trash-code generation - генератор умного мусорного кода, который не оптимизируется компилятором и не снимается механизмами свертки блоков кода (во время дизасма и эмуляции). Умеет учитывать заданную конфигом глубину генерируемого кода и основательно связывать логику на уровне мат. выражений, циклов, условий и функций.
Результат: Граф потока управления, блоки if, if-else, for, while, do-while, switch обрабатываются генератором кода, который не сворачивается, делает различные логические и арифметические действия. Генерируются случайные фейковые функции, которые вызываются в процессе исполнения кода, не влияют на логику работы, но запутывают динамические и статические анализаторы.
+ 6. Executable fake functions generation - генерация используемых исполняемых функций и вызовов их в коде. Вызовы функций формируются на основе построенного графа со случайными ветввлениями с просчитыванием карты вызовов и защитой от рекурсии.
+ 7. Function calls obfuscation - обфускация вызовов оригинальных функций цепочкой подставных функций, тем самым нарушая логику динамических сигнатур (подсчет кол-ва вызовов в глубину) и перемешивание аргументов функций с сохранением рабочей логики.
Результат: Граф потока управления вызова функций изменяется, это влияет на логику статических\динамических сигнатур, запутывает анализаторы. По кол-ву вхождений в функцию\ по количеству используемых аргументов для вызова функций.
+ 8. Legitimate strings generator - генерация текстовых строк, спаршенных с белых бинариков из системной директории windows + эмитация полезной работы с ними с помощью стандартных функций для работы со строками.
+ 9. Executable fake winapi generation - генерация случайных (безопасных) исполняемых winapi функций (с псевдо-правильными аргументами) с направлением логики работы в зависимости от результата выполнения.
- 10. Spaghetti basic block morphing (control flow morphing) - перемешивание блоков кода между собой, связывая последовательности через цепочки goto прыжков. (поддержка опции зависит от компилятора)
+ 11. Operations function replacement - замена мат операторов (+,-,*) обфусцированными аналогами или врапперами в отдельных функциях.
+ 12. Expression morphing - обфускация выражений с помощью добавления новых многоуровневых выражений, не влияющих на логику и работоспособность алгоритмов.
Результат: Дизассемблированный код становится не читаемым, сложным к восприятию логики и анализу, противодействует средствам анализа.
- 13. Control flow graph flattening - трансформация кода в конечный автомат с управлением через диспетчеризацию с полноценной сверткой циклов, условий, try..catch блоков.
+ 14. Function args obfuscation - обфускация аргументов реальных функций, тем самым нарушая сигнатуры по местам вызова функций и переходов.
+15. Dynamic antidebug and antitrace
Благодаря генерации фейковых функций и фейк winapi функций (работы с указателями) при дебаге такого файла дебагеры вылетают. (ollydbg2, x64dbg).
Ида по-умолчанию не может даже загрузить весь граф.
Результат: Граф потока управления, вся логика переходов, числовые значения, блоки if, if-else, for, while, do-while, switch обрабатываются условными переходами, результат которых невозможно предсказать без просчета. Морфятся вызовы функций, выражения, числовые значения.
Поверх этой логики генерируется невырезаемый треш код (if, if-else, for, while, do-while, switch, api calls, function calls, fake functions, math expressions, local & global variables), мусорные фейк функции, которые вызываются в процессе исполнения кода, не влияют на логику работы, но запутывают динамические и статические анализаторы. Все генерируемые блоки кода полностью рандомизированны, невозможно выявить паттерны генерируемых блоков кода. Используется контроль уровеня глубилны генерации кода - можно вариативно указывать через конфиг (config.ini).
Результат: Граф потока управления, вся логика переходов, числовые значения, блоки if, if-else, for, while, do-while, switch обрабатываются условными переходами, результат которых невозможно предсказать без просчета. Морфятся вызовы функций, выражения, числовые значения. Отморфленый код, не влияет на логику работы, но запутывает динамические и статические анализаторы.
#------------------------------------------------------#
# Результат работы:
# Что изменится после обработки проходами:
#------------------------------------------------------#
- Количество функций
- Количество выражений и переменных
- Количество винапи функций
- Условия
- Циклы
- Увеличится количество локальных и глобальных переменных
- Увеличится Количество кода, который без изменения логики исполнения оригинального кода, интегрируется и эмитирует реальный код программы.
- Количество циклов
- Количество условных перехода
- Количество вызовов функций
- Количество вызовов випапи функций
- Таблица импорта
- Изменится Количество и соотношение Опкодов
- Изменится размер кодовой секции
- Исчезнут текстовые сроки, на их место визуально будут видны фейковые сроки
- Уникальный граф потока исполнения
- Уникальный бинарный код (ассемблированный листинг), офсеты
Условия:
Стоимость 0.25 BTC
В стоимость входит годовая поддержка решения и обновления, багфиксы.
Решение накрыто протом, защита от копирования, исходный код не входит в поставку.
Решение поставляется в виде CLI инструмента.
В сделку входит передача морфера, помощь в установке, поддержка проекта в течении года.
В проект вшит индивидуальный токен, привязанный к профилю покупателя.
Покупатель приобретает продукт морфера в личных целях и обязуется не распространять в паблик и не передавать
третьим лицам морфер и другие части проекта, а так же обязуется не оказывать услуг по морфингу чужих проектов на любой основе.
Не русскоязычных просьба не беспокоить, сделки не будет.
Сделка осуществляется исключительно через гаранта, автогарант форума.
Первый контакт, верификация ч\з пм.
У вас должно быть более 25 сообщений для просмотра скрытого контента.
TOX: 658126F3529CF09FE5A7D8DA2ED15A9F83AA8482BA428E46483A80432CBFDF5BE8531EE05640
Jb: MorphMePlease[_собака_]thesecure[_точка_]biz
Jb: MorphMePlease[_собака_]thesecure[_точка_]biz
Подробности, примеры морфинга при личном общении.
Последнее редактирование:
