Привет! Мы плодотворно трудились над нашим продуктом, и сегодня я хочу поделиться новостями. Для тех, кто не читал предыдущих топиков (1 и 2), напомню, что мы разрабатываем онлайн сервис для защиты .NET приложений. Процесс обфускации происходит непосредственно в облаке по модели SaaS.
Расскажу немного о нововведениях.
Программа-клиент
Для тех кто обфусцирует свои программы постоянно мы существенно упростили этот процесс — теперь Вы можете воспользоваться специальной программой-клиентом для работы с нашим сервисом. Созданную конфигурацию можно сохранить в проект, и затем обфусцировать Ваши программы в один клик.
Программа распространяется как OpenSource (лицензия MIT), все желающие могут ознакомиться с исходниками. В дальнейшем, мы планируем вынести API в отдельный модуль, для легкой интеграции с другими программами.
Программа пока бета, заранее приносим извинения за возможные баги.
Control flow obfuscation
В AppFuscator добавлен новый алгоритм защиты Control flow obfuscation — запутывание потока управления. Суть этого метода заключается в разделении алгоритма программы на отдельные компоненты и построение из них сложно-связанного графа переходов. В итоге логику работы кода понять становиться весьма не просто.
Небольшой пример:
Полный код обфусцированого метода можно посмотреть здесь (для наглядности выключены все виды защиты кроме Control flow обфускации)
Из особенностей:
- Несколько различных способов перехода между блоками
- Поддержка Switch инструкций
- Динамические счетчики, передающие состояние между блоками
Резюме: обратный декодер написать возможно, но это будет весьма не просто, дорого и сложно. Придется затачивать его персонально под наш алгоритм, а мы постараемся его почаще обновлять, чтобы жизнь потенциального хакера была веселой и насыщенной.
Улучшенный WPF обфускатор
Существенно доработаны алгоритмы обфускации WPF. Наш обфускатор умеет переименовывать объекты, используемые в XAML разметке, и при этом корректно обрабатывает Bingings, Attached Properties, Attached Events и другие хитрые конструкции из мира WPF. Как правило процесс обфускации не требует ручной настройки, обо всем позаботится интеллектуальные алгоритмы анализа кода и XAML разметки (если точнее, BAML).
Личный кабинет пользователя
Теперь каждому пользователю доступен личный кабинет. В нем можно видеть историю обфускаций и скачивать предыдущие обфусцированные версии для изучения MAP файлов.
Мы будем рады услышать Ваши вопросы и предложения, а так же, обсудить возникшие идеи.
Автор: Anakonda