Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как предотвратить переопределение класса? (http://www.flasher.ru/forum/showthread.php?t=149591)

artfabrique 28.01.2011 10:40

Как предотвратить переопределение класса?
 
Столкнулся с проблемой:
Есть 2 SWF, одна загружается в другую с LoaderContext текущего апп. домена.
В загружаемой SWF есть класс, например, Box.
Как сделать так чтобы нельзя было его переопределить в загрузчике?
То есть, если злоумышленник создаст экземпляр класса с таким же названием в загрузчике, то далее будет использован именно он, а не тот который был загружен позднее.

cleptoman 28.01.2011 11:18

сохраняйте домен загружаемой флэшки

dimarik 28.01.2011 11:18

Никак. Сделайте так, чтобы невозможно было загрузить Ваше приложение загрузчиком.

Добавлено через 1 минуту
Цитата:

Сообщение от cleptoman (Сообщение 968476)
сохраняйте домен загружаемой флэшки

Загрузчик будет загружать в текущий ApplicationDomain. При конфликте пространств имен и названия класса загруженный класс будет игнорироваться.

mikhailk 28.01.2011 11:38

У меня был проект - контейнер (конструктор открыток), в который грузилось несколько флешек, причем заранее не было известно, что это за флешки. Соответственно, периодически происходили конфликты с именами классов. Задача была решена загрузкой каждой флешки в свой домен.

dimarik 28.01.2011 11:46

Задача злоумышленника - подменить класс.

artfabrique 28.01.2011 11:47

Ну у меня ситуация немного другая. Загрузчик мой тоже. А загружается секьюрити модуль с контрольными суммами итд. Как и откуда загружается - не скажу - сикрет фирмы ) Соответственно злоумышленник может манипулировать с загрузчиком и создать клоны классов секьюрити модуля (если конечно он каким то образом сможет узнать их имена). Можно же кстати делать рандомное имя класса на лету и регистрировать его? ну и свое имя он будет раскрывать уже после своей инициализации соответственно дергая некий метод загрузчика?

mikhailk 28.01.2011 12:05

Цитата:

Задача злоумышленника - подменить класс.
это я понял
моя реплика была вот по поводу этого:

Цитата:

Загрузчик будет загружать в текущий ApplicationDomain.
Загрузчик будет загружать в тот домен, который ему будет указан в контексте загрузки.
Правда, я не уверен, что это поможет автору.


Автор, а зачем эти пляски с бубнами?
Онлайн-казино пишете?

artfabrique 28.01.2011 12:30

нет. хочу сделать некий ноухау метод для приложений с соревновательной механикой в соц сетях, которая в разы усложнит изменение кода после декомпиляции. Как доделаю до конца — выложу.

†‡Paladin‡† 28.01.2011 12:56

Собрать класс в рантайме и обращаться к нему через интерфейс (depency injection как оно есть). Без разрешений allowDomain внешняя флешка не сможет ничего сделать.

artfabrique 28.01.2011 13:01

Цитата:

Сообщение от †‡Paladin‡† (Сообщение 968503)
Собрать класс в рантайме и обращаться к нему через интерфейс (depency injection как оно есть). Без разрешений allowDomain внешняя флешка не сможет ничего сделать.

С этого момента по-подробнее пожалуйста )


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

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