Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.12.2015, 00:19
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 1  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
The bomb! Что за защита

Изучаю способ защиты приложения, не могу понять, может добрые люди помогут
Код AS3:
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 {   } 
}
Не понятно, откуда берутся нужные данные ByteArray

Старый 21.12.2015, 01:03
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Мы все здесь злые.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 21.12.2015, 01:08
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 3  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Из экземпляра класса Z.
__________________
There is no thing in this world that is not simple.

Старый 21.12.2015, 07:42
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Декомпилятор не может получить содержимое флешки, которая была вшита в основную через Embed. Поэтому здесь нет никакого кода в классе Z. В реальности он, конечно же, есть.
Защита здесь примитивная, простое смещение байт. Весь алгоритм на виду. А можно было сделать динамичческое составление ключа внутри вшитой флешки, а наружу из нее выдавать уже готовый ключ. Так было бы надежнее, и само шифрование использовать, например, AES

Старый 21.12.2015, 10:30
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 5  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
Почему же тогда класс Z расширяет ByteArray, и как добраться до основного класса? Я так понимаю класс Z переводит основной класс приложения в байт массив с необходимым сдвигом байт. Прошу прощения за такую нелегальную тему, просто интересуюсь с целью понять суть защиты.

Старый 21.12.2015, 12:27
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Ничего он не переводит никуда. Z - это простой swf файл, который был предварительно обработан какой-то прогой, делающий сдвиг байт, и вшит в основную флешку через Embed.
А расширяет он ByteArray потому, что компилятор так сделал.
Ты так же можешь увидеть кучу якобы пустых классов расширяющих BitmapAsset или BitmapData которых не было в изначальном приложении

Старый 21.12.2015, 13:15
Dmitriy154 вне форума Посмотреть профиль Отправить личное сообщение для Dmitriy154 Найти все сообщения от Dmitriy154
  № 7  
Ответить с цитированием
Dmitriy154

Регистрация: Feb 2014
Сообщений: 192
Вот тебе и примитивная защита, короче не будем заморачиваться, спасибо за помощь

Старый 21.12.2015, 16:59
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 8  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
на момент
_local7.loadBytes(_local2);

уже известны байты реального ролика, нужно просто сохранить байты из_local2 как файл и это будет искомый swf

Старый 21.12.2015, 17:06
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 9  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Вот есть у вас совесть?
__________________
Дети не должны знать о своих родителях

Старый 21.12.2015, 18:01
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
на момент
_local7.loadBytes(_local2);

уже известны байты реального ролика, нужно просто сохранить байты из_local2 как файл и это будет искомый swf
откуда они известны, если класс z - пустой?

Добавлено через 13 минут
Я знаю, что в реальности он не пустой, но как можно его выцепить без модификации кода?

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.