|
|
|||||
Регистрация: Feb 2014
Сообщений: 192
|
Что за защита
Изучаю способ защиты приложения, не могу понять, может добрые люди помогут
private function onLoaded(_arg1:Event):void { var _local8:int; if (stage){ stage.scalemode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; }; var _local2:ByteArray = new ByteArray(); var _local3:Z = new Z(); _local3.position = (_local3.length - 8); var _local4:int = _local3.readInt(); var _local5:int = (_local4 + _local3.readInt()); _local3.position = _local4; var _local6:int = _local4; while (_local6 < _local5) { _local8 = _local3.readUnsignedByte(); _local8 = (_local8 ^ 18); _local2.writeByte(_local8); _local6++; }; var _local7:Loader = new Loader(); addChild(_local7); _local7.loadBytes(_local2); } } } //package package { import flash.utils.*; public class Z extends ByteArray { } } |
|
|||||
Декомпилятор не может получить содержимое флешки, которая была вшита в основную через Embed. Поэтому здесь нет никакого кода в классе Z. В реальности он, конечно же, есть.
Защита здесь примитивная, простое смещение байт. Весь алгоритм на виду. А можно было сделать динамичческое составление ключа внутри вшитой флешки, а наружу из нее выдавать уже готовый ключ. Так было бы надежнее, и само шифрование использовать, например, AES |
|
|||||
Регистрация: Feb 2014
Сообщений: 192
|
Почему же тогда класс Z расширяет ByteArray, и как добраться до основного класса? Я так понимаю класс Z переводит основной класс приложения в байт массив с необходимым сдвигом байт. Прошу прощения за такую нелегальную тему, просто интересуюсь с целью понять суть защиты.
|
|
|||||
Ничего он не переводит никуда. Z - это простой swf файл, который был предварительно обработан какой-то прогой, делающий сдвиг байт, и вшит в основную флешку через Embed.
А расширяет он ByteArray потому, что компилятор так сделал. Ты так же можешь увидеть кучу якобы пустых классов расширяющих BitmapAsset или BitmapData которых не было в изначальном приложении |
|
|||||
Регистрация: Feb 2014
Сообщений: 192
|
Вот тебе и примитивная защита, короче не будем заморачиваться, спасибо за помощь
|
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
на момент
_local7.loadBytes(_local2); уже известны байты реального ролика, нужно просто сохранить байты из_local2 как файл и это будет искомый swf
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
Добавлено через 13 минут Я знаю, что в реальности он не пустой, но как можно его выцепить без модификации кода? |
Часовой пояс GMT +4, время: 12:51. |
|
« Предыдущая тема | Следующая тема » |
|
|