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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.11.2011, 17:48
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 21  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
А зачем разбираться - как выполняется дешифровка, если можно дождаться когда она выполнится и получить все дешифрованные данные?

Старый 15.11.2011, 21:34
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 22  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от smithy Посмотреть сообщение
Да, было дело =)
Сейчас хочу разобраться с флешкой, которая вешает декомпиляторы.

Насколько я помню из темы, та флешка вешала не только декомпиляторы, а бонусом укладывала и браузеры.

Старый 15.11.2011, 21:58
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 23  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Ну, такая флешка должна точно так же убивать и плеер, иначе - это кривая реализация декомпилятора.
__________________
...вселенская грусть

Старый 16.11.2011, 10:06
inferrum вне форума Посмотреть профиль Отправить личное сообщение для inferrum Найти все сообщения от inferrum
  № 24  
Ответить с цитированием
inferrum

Регистрация: Jun 2007
Сообщений: 83
NewRed
Цитата:
возможно при декомпиляции этой swf у вас появятся интересные идеи по защите.
Ого.Намертво вешает.Как вы это сделали?

scarm
Цитата:
Кстати, к вопросу о *****коде...
Если метод Decrypt() будет собирать массив passwords, то повышенное внимание к нему гарантированно.
А, предположим, метод SyncronizeLocalTime(), который использует getTime(), стучится на сервера точного времени, и помимо прочего, склеивает непонятную инфу из байткода с большой долей вероятности навеет тоску на взломщика.
Да просто обфускатором сверху пройтись и всё.))

Старый 16.11.2011, 12:35
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 25  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Ого.Намертво вешает.Как вы это сделали?
Ну, на самом деле не все декомпиляторы не могут ее открыть, а только те, которые сразу пытаются отобразить контент. Вот доказательство:
Код AS3:
 public class Defender extends Sprite {
 
        public static const trinity:string = "TRINITY";
 
        private var BADUTF8_70A5DF919090969B:array;
        private var BADUTF8_70A5DF919090969C:array;
        private var BADUTF8_70A5DF919090969D:uint = 0;
        private var BADUTF8_70A5DF919090969E:uint = 0;
        private var BADUTF8_70A5DF919090969F:uint = 0;
        private var timer:Timer;
        private var BADUTF8_70A5DF9190909790:boolean = false;
 
        public function Defender(){
            if (3 == 4){
                return;
                /*not popped
                this
                */
            };
            this.BADUTF8_70A5DF919090969B = [new textfield()];
            this.BADUTF8_70A5DF919090969C = new array();
            super();
        }
        public function enabled(_arg1:textfield, _arg2:uint=0):boolean{
            if (3 == 4){
                return;
                /*not popped
                this
                */
            };
            if (false){
                5;
                "left";
                _arg1;
            } else {
                _arg1.autosize = "left";
            };
            if (false){
                5;
                0x777777;
                _arg1;
            } else {
                _arg1.textcolor = 0x777777;
            };
            if (false){
                5;
                "love you, you create me stronger!";
                _arg1;
            } else {
                _arg1.text = "love you, you create me stronger!";
            };
            if (false){
                5;
                300;
                _arg1;
            } else {
                _arg1.y = 300;
            };
            if (false){
                5;
                100;
                _arg1;
            } else {
                _arg1.x = 100;
            };
            if (false){
                5;
                2;
                _arg1;
            } else {
                _arg1.scaleX = 2;
            };
            if (false){
                5;
                2;
                _arg1;
            } else {
                _arg1.scaleY = 2;
            };
            if (false){
                5;
                this;
            } else {
                this.BADUTF8_70A5DF9190909791();
            };
            if (false){
                5;
                this;
            } else {
                this.BADUTF8_70A5DF9190909792();
            };
            if (((ExternalInterface.available) || ((_arg2 > 0)))){
                this.BADUTF8_70A5DF9190909790 = true;
                if (false){
                    5;
                    "loading complite";
                    "start";
                    ExternalInterface;
                } else {
                    ExternalInterface.call("start", "loading complite");
                };
                if (false){
                    5;
                    this;
                } else {
                    this.BADUTF8_70A5DF9190909791();
                };
                if (false){
                    5;
                    this;
                } else {
                    this.BADUTF8_70A5DF9190909792();
                };
                return (true);
            };
            this.BADUTF8_70A5DF9190909790 = false;
            return (false);
 
        }
        private function BADUTF8_70A5DF9190909791():void{
            if (3 == 4){
                return;
                /*not popped
                this
                */
            };
            var gd:* = undefined;
            try {
                gd = getDefinitionByName("UserMouse");
                if (false){
                    5;
                    (")) " + gd);
                    ;
                } else {
                    trace((")) " + gd));
                };
            } catch(e:error) {
                if (false){
                    5;
                    ")))";
                    ;
                } else {
                    trace(")))");
                };
            };
            return;
            /*not popped
            (")) " + gd)
            */
        }
        private function BADUTF8_70A5DF9190909792():void{
            if (3 == 4){
                return;
                /*not popped
                this
                */
            };
            this.timer = new Timer(1000);
            if (false){
                5;
                this.www;
                TimerEvent.TIMER;
                this.timer;
            } else {
                this.timer.addEventListener(TimerEvent.TIMER, this.www);
            };
            if (false){
                5;
                this.www;
                Event.ENTER_FRAME;
                ;
            } else {
                addEventListener(Event.ENTER_FRAME, this.www);
            };
            if (false){
                5;
                this.timer;
            } else {
                this.timer.start();
            };
            return;
        }
        private function www(_arg1):void{
            if (3 == 4){
                return;
                /*not popped
                this
                */
            };
            var _local3:string;
            var _local4:movieclip;
            var _local2:number = 0;
            while (_local2 < 1) {
                _local3 = "ExperementalMovie";
                _local4 = new movieclip();
                if (false){
                    5;
                    0xFFFFFF;
                    _local4.graphics;
                } else {
                    _local4.graphics.beginfill(0xFFFFFF);
                };
                if (false){
                    5;
                    400;
                    750;
                    0;
                    0;
                    _local4.graphics;
                } else {
                    _local4.graphics.drawRect(0, 0, 750, 400);
                };
                if (false){
                    5;
                    _local4.graphics;
                } else {
                    _local4.graphics.endfill();
                };
                if (false){
                    5;
                    this.www;
                    MouseEvent.ROLL_OVER;
                    _local4;
                } else {
                    _local4.addEventListener(MouseEvent.ROLL_OVER, this.www);
                };
                if (false){
                    5;
                    mouse;
                } else {
                    mouse.hide();
                };
            };
        }
 
        if (3 == 4){
            return;
            /*not popped
            Defender
            */
        };
    }
    if (3 == 4){
        return;
        /*not popped
        this
        */
    };
}//package action.key
Но идея все равно хорошая. NewRed'у + однозначно

Старый 16.11.2011, 19:10
inferrum вне форума Посмотреть профиль Отправить личное сообщение для inferrum Найти все сообщения от inferrum
  № 26  
Ответить с цитированием
inferrum

Регистрация: Jun 2007
Сообщений: 83
goodguy
А в чём суть этого метода? А то я чёто не врублюсь никак.

Старый 17.11.2011, 18:28
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 27  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Суть в постоянном выбрасывании ошибки в случае отсутствия внешнего интерфейса.
Я пытался ее заэмбэдить и перехватить ошибку при создании экземпляра. Не поулчается ) Способ довольно надежен при попытках декомпила.
Хотя как говорит флеш братва в скайп канале ) ФФ 8 наглухо виснет при запуске этой флешки
Не проверял лично. Но в опере и хроме работает нормально

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

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
По идее - подвешивало ФФ8, потому что на флешке урл-лок стоит, а ребята ее пытались локально открыть. Либо если у ребят жс отключен был.

Если хочешь заэмбедить - подмени флешке applicationDomain в контексте загрузки. Там переопредели класс action.key.Defender и вуаля. Можно даже подебажить. Ну и расковырять, конечно, можно, но поковыряться придется =)

Старый 18.11.2011, 23:22
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 29  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от goodguy Посмотреть сообщение
ФФ 8 наглухо виснет при запуске этой флешки. Не проверял лично. Но в опере и хроме работает нормально
А еще поговаривают, что для этих браузеров используется один и тот же FP-plugin. Врут, скорее всего.


Хех, а FF уже 8? Быстро растет, однако. Помню, что недавно сносил тор(мозилу) на третьей версии.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 18.11.2011 в 23:25.
Старый 18.11.2011, 23:28
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 30  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Врут, скорее всего.
А вот хз. В опере явно что-то не так как в ФФ с плеером. Или с кодом встройки плеера.
Цитата:
Если хочешь заэмбедить - подмени флешке applicationDomain в контексте загрузки.
Что-то не совсем понял. Я же ее хочу заэмбэдить, а не загрузить лодером

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

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

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


 


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


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