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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.01.2011, 13:17
†‡Paladin‡† вне форума Посмотреть профиль Отправить личное сообщение для †‡Paladin‡† Найти все сообщения от †‡Paladin‡†
  № 11  
Ответить с цитированием
†‡Paladin‡†

Регистрация: Nov 2005
Сообщений: 1,058
Цитата:
Сообщение от artfabrique Посмотреть сообщение
С этого момента по-подробнее пожалуйста )
Вам в каком месте по подробней?

Вам нужно получить экземпляр класса Box.
Согласно принципам di вы не вызываете new Box(), а используете статический класс Factory с методом getBox(), который возвращает вам объект реализующий интерфейс IBox. Внутри Factory может быть все что угодно. Например класс Box будет представлять из себя строку, которая загружается как байтмассив, как вариант там могут быть пачки функций, которые навешиваются на динамический класс. Для дополнительной защиты можно снимать хэши и проверять их (сделать отдельно класс с таблицами соответствия). В итоге через Factory мы будем получать только правильные подписанные классы. При этом можно проверять подпись как у вновь создаваемого класса, так и у вызывающего. Получится очень милая атмосфера паранои и недоверия в приложении.

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

Регистрация: Apr 2006
Сообщений: 165
Отправить сообщение для artfabrique с помощью ICQ
а что, если злоумышленник переопределит этот Фэктори класс и метод getBox? То есть, если подставной класс Фэктори будет зарегистрирован раньше инициализации секьюр модуля

Добавлено через 1 минуту
Я так понимаю отловить имена классов не так сложно в дампе памяти?
__________________
To beer or no to beer?
That is the question...

Старый 28.01.2011, 14:13
†‡Paladin‡† вне форума Посмотреть профиль Отправить личное сообщение для †‡Paladin‡† Найти все сообщения от †‡Paladin‡†
  № 14  
Ответить с цитированием
†‡Paladin‡†

Регистрация: Nov 2005
Сообщений: 1,058
Цитата:
Сообщение от artfabrique Посмотреть сообщение
а что, если злоумышленник переопределит этот Фэктори класс и метод getBox? То есть, если подставной класс Фэктори будет зарегистрирован раньше инициализации секьюр модуля
О это будет мазохизм.

Старый 28.01.2011, 15:46
artfabrique вне форума Посмотреть профиль Отправить личное сообщение для artfabrique Найти все сообщения от artfabrique
  № 15  
Ответить с цитированием
artfabrique
 
Аватар для artfabrique

Регистрация: Apr 2006
Сообщений: 165
Отправить сообщение для artfabrique с помощью ICQ
Ну это понятно. Вопрос в том как это предотвратить.
__________________
To beer or no to beer?
That is the question...

Старый 28.01.2011, 17:00
†‡Paladin‡† вне форума Посмотреть профиль Отправить личное сообщение для †‡Paladin‡† Найти все сообщения от †‡Paladin‡†
  № 16  
Ответить с цитированием
†‡Paladin‡†

Регистрация: Nov 2005
Сообщений: 1,058
Необходимость замены _всех_ классов в подгруженном приложении считается решением задачи?

Старый 28.01.2011, 17:43
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 17  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Я вообще ничего не понял. Может быть пространства имен могут помочь ?!

Добавлено через 2 минуты
Вообще забейте на злоумышленников, абсолютно все можно разобрать, попилить, переписать ... просто времени займет чуть больше, после ваших потуг.

Старый 28.01.2011, 18:50
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 18  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
я подозреваю, тут чисто академический интерес?

Старый 28.01.2011, 22:49
artfabrique вне форума Посмотреть профиль Отправить личное сообщение для artfabrique Найти все сообщения от artfabrique
  № 19  
Ответить с цитированием
artfabrique
 
Аватар для artfabrique

Регистрация: Apr 2006
Сообщений: 165
Отправить сообщение для artfabrique с помощью ICQ
нет это не академический интерес, а вполне практический для текущего проекта. Не думаю что просто будет распознать подгрузку секьюр модуля этим методом, только если просмотреть дамп оперативки. Ну точнее распознать можно но фактически подменить крайне проблематично. Так что нужно просто придумать и сделать защиту от подмены классов загруженного секур ядра. Тоесть загрузчик и ядро моего "производства". Пока я услышал но еще не попробовал идею с продгрузкой ядра не в текущий домен и использования интерфейса как защиты от просмотра кода при дебаге. Вопрос в том теперь можно ли из подгруженной СВФ в другой апп.домен тягать методы загрузчика?

Добавлено через 20 часов 28 минут
мда жаль. вроде никак.
__________________
To beer or no to beer?
That is the question...

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

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

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


 


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


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