Наверное, тема поднималась где-то столько же раз, как и великие вопросы вроде "как загрузить картинку", но все же есть в ней неизведанные аспекты

. Итак, что мы можем сделать для защиты от атаки с заменой кода приложения:
1. Обфускация - непрерывная война декомпиляторов и обфускаторов, наверное, уже всех задолбала

Кроме того, есть риск получить нерабочий код, особенно если использовать crossbridge(alchemy). Иногда, по непонятным причинам, в secureSWF ломается сериализация bindable-объектов. Ну и алгоритмы всегда можно понять, плюс достаточно любой современной IDE с утилитами для рефакторинга, чтобы конвертировать выражения обфускатора в понятные человеку названия.
2. Декодирование swf, зашифрованного XOR, или любым другим алгоритмом с зкарытым ключом при помощи приложения на crossbridge - предполагается что ключ с байткода, сгенерированного flasCC, вытянуть либо сложно, либо невозможно. Так ли это? Кроме того, наше приложение всегда можно достать с дампа оперативной памяти...
3. Использование CWS-сжатия(интегриреум основное приложение в приложение-контейнер как embed SWF). Помогает только если взломщик не подозревает о таком "грязном трюке". Но весь великий социалистический Китай в курсе - чтобы добратся до заветной флешки, нужно вытянуть бинарные данные, открыть в 7zip получившийся выхлоп, и вытянуть оттуда приложение в лапы декомпилятору...
Итак, вопрос: известны ли кому еще какие-то методы защиты кода от просмотра и изменения(сборки рабочего приложения с модифицированным кодом)? Вопрос касается только атаки на клиент, предполагается что все нужные ключи хранятся на сервере, логика геймплея там же, ключи доступа действуют на протяжении одной сессии - в общем, полный набор защиты клиент-серверного взаимодействия. Также вопрос несет теоретический характер - просто интересно, имеет ли смысл поискать способ добавить головной боли любителям декомпиляции
