![]() |
Monster debugger и SWF
Здравствуйте товарищи. Нужна ваша помощь или совет. Буду краток: есть приложение, есть MD. Вопрос - как обезопасить приложение от MD? Как не позволить дебаггеру улавливать swf-ку?
Заранее очень большое спасибо. |
Чтоб Monster Debugger подключился к флешке, нужно подключить библиотеку и запустить нужный класс. Просто так никто не сможет через MD подключиться. Так что по этому поводу можно не переживать.
Но если захотят взломать, способ всегда найдётся. |
Спасибо большое и за ответ, и за оперативность, но как показала практика - всё проще пареной репы. В С: кидается файл MonsterConnector.swf , а в mm.cfg прописывается путь к нему. Далее(если я правильно понимаю процесс работы дебаггера) MD объявляет себя полноправным прелоадером и загружает в себя основную swf ку. Вот в чём дело и моя головная боль=)
|
Цитата:
|
Когда я найду ответ на свой вопрос я с вами соглашусь, что была она напрасна и абсурдна, но сейчас она реальна и актуальна=) Я хотел бы скрыть всё=) Предположим, что у меня есть онлайн-мультиплеер игра-стрелялка. Так вот MD позволяет видеть весь клиент и переопределять всё(или почти), что в нём есть как только угодно. Для серьёзного проекта можно было бы заморочиться: зашифровать код от декомпиляторов, симулировать физику на сервере, проводить на нём кучу проверок-перепроверок и т.д. Но если проект -децл(не репер!!!) и совсем не хочется(да и ресурсов нет) с этим всем возиться. Вот я к чему=)
|
Из того, что я знаю, MD может обработать лишь то, что на экране. Следовательно взлом логики приложения возможен только если оно разработано "в лоб". Если же экранные объекты будут лишь отображением логики, вынесеной в другие классы, MD бессилен.
Почитай про MVC, например. |
Да так и есть. Но MD в буквальном смысле видит всё: впоть до папок где классы лежат. О горе мне, горе.
|
Цитата:
|
|
Спасибо вам, добрый человек, большое спасибо=)
|
Как вариант, проверяйте в конструкторе Document Class свойство stage. Владелец Stage является первой swf.
|
Ещё раз хотел сказать огромное спасибо dimarik'у и отписаться здесь более конкретно по данной проблеме. Надеюсь, кому-нибудь в будущем это поможет.
В чём смысл возникшей проблемы я уже описал, поэтому перейду к решению. В статье, ссылку на которую кинул dimarik, узнал, что особенностью FlashPlayer'a при загрузке является то, что он даёт допольнительные имена загружаемым объектам. То есть если вы загружаете своё приложение, то preloader должен иметь дополнительное имя(root.name) "root1", main.swf - "root2" и т.д. Смысл защиты от "инекции" заключается в проверке имеет ли ваш preloader.swf дополнительное имя "root1"(в противном случае скорее всего сторонний preloader шпионит за вашим приложением). name является read-only, хотя может-быть переопределён, но вызовет ошибку на этапе выполнения. if (root.name != "root1") {return;} |
| Часовой пояс GMT +4, время: 18:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.