Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   защитить код флешки от декомпиляции (http://www.flasher.ru/forum/showthread.php?t=100520)

vladius 29.08.2007 13:44

защитить код флешки от декомпиляции
 
Добрый день,
подскажите кто нибудь такую вешч. Мне необходимо зашитить флешку от декомпиляции таким образом как это сделано на http://onslaught.playr.co.uk/ , а именно в любом кадре написана така вот билеберда.:eek:

Код:

function ()
{
    return (1745 % 511 * 5);
} // End of the function
var \x01 = -641 + \x01\x02();
for (\x01 = eval("\x01") + 228; eval("\x01") == 566; \x01 = eval("\x01") - 264)
{
} // end of for
\x01 = eval("\x01") + 280;
\x01 = eval("\x01") + 79;
if (eval("\x01") == 597)
{
    \x01 = eval("\x01") - 133;
    if (false)
    {
    }
    else
    {
        \x01 = eval("\x01") - 55;
    } // end else if
   
} // end if

это то, что нужно.:rtfm:
кто знает с помощью какой проги это можно сделать, подскажите, плз.

eGanz 29.08.2007 13:49

А как ты это узнал, если её нельзя декомпилировать из-за этого куска кода?

vladius 29.08.2007 13:53

Цитата:

Сообщение от eGanz
А как ты это узнал, если её нельзя декомпилировать из-за этого куска кода?

ее не нельзя декомпилировать из-за этого куска кода. просто весь нормальный код заменен на такой. не думаю, что назавать все функции function () - просто хороший стиль программмирования

etc 29.08.2007 14:11

SWF Encrypt

з.Ы. В руках hex-маньяка ломается за 15 секунд.

aksios 29.08.2007 14:13

Это называется обфускатор. :mosking:
Хотя господа вроде _etc переведут.

eGanz 29.08.2007 14:29

ааа)), а это на уровне машинного кода?

etc 29.08.2007 14:32

На уровне некорретного кода, вставленного вперемешку с нормальным.

eGanz 29.08.2007 14:48

Эта операция замедляет работу?

vladius 29.08.2007 14:49

Цитата:

Сообщение от __etc
SWF Encrypt

з.Ы. В руках hex-маньяка ломается за 15 секунд.

сенкс

etc 29.08.2007 14:55

Цитата:

Сообщение от eGanz
Эта операция замедляет работу?

В принципе нет. Но такие энкрипторы могут повредить код или другой контент.

chingachgoog 29.08.2007 15:40

Цитата:

Сообщение от eGanz
Эта операция замедляет работу?

Вообще чем длиннее имя переменных и т.п., тем дольше флеш думает. Так было ранее, как теперь не знаю (так Гурский думает, но я не проверял)

Есть более простые способы с байт-кодом - см. поиском тут.

etc 29.08.2007 15:43

Цитата:

Сообщение от chingachgoog
Вообще чем длиннее имя переменных и т.п., тем дольше флеш думает. Так было ранее, как теперь не знаю (так Гурский думает, но я не проверял)

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

aksios 29.08.2007 17:11

Цитата:

Сообщение от chingachgoog
Вообще чем длиннее имя переменных и т.п., тем дольше флеш думает.

А при чем тут длины переменных? Вот с байткодом флешка может стать не адекватной. А тут игры с hex смещениями - код даже компактней выглядит.:bye:

CorC 30.08.2007 10:51

Хочу стать "hex маньяком" :) есть где почитать как это сделать? :)

etc 30.08.2007 10:54

Боюсь, что подобных консультаций здесь на форуме не будет.

aksios 30.08.2007 11:22

Цитата:

Сообщение от CorC
Хочу стать "hex маньяком" :) есть где почитать как это сделать? :)

Ваще на албанских флешовых форумах не в пример нашим по этой теме информации выложено. Целые разделы. Ищи.;)

chingachgoog 30.08.2007 15:41

Цитата:

Сообщение от aksios
А при чем тут длины переменных?

А как обсфуркатор работает?
Меняет имена на всякую абракадабру. Делает корректно отдекомпилированный код нечитаемым для глаза (но для машины)
Если я правильно понимаю.

Цитата:

Сообщение от aksios
Вот с байткодом флешка может стать не адекватной.

Пока не замечал, "96" работает и защищает на приемлемом уровне.

Цитата:

Сообщение от aksios
А тут игры с hex смещениями - код даже компактней выглядит.:bye:

Не понял. Где именно "тут"?

aksios 30.08.2007 15:55

Цитата:

Сообщение от chingachgoog
А как обсфуркатор работает?
Меняет имена на всякую абракадабру. Делает корректно отдекомпилированный код нечитаемым для глаза (но для машины)
Если я правильно понимаю.

Все намного сложнее. :rtfm:

chingachgoog 30.08.2007 17:37

Смысл же тот же остался?
Обсфуркатор поменял имена переменных на нечитаемые и ДЛИННЫЕ и сделал много чего еще (в ссылке видно).
У Гурского было сказано (из бесплатного добавления 20.2. Оптимизация):
Цитата:

Сообщение от Гурский
Производительность кода довольно заметно зависит от длины имен переменных, свойств и функций. Чем длиннее имя, тем больше требуется времени на то, чтобы найти связанный с ним объект данных.
...
Проводить тестирование производительности стоит в тех же условиях, в которых фильм будет работать. Дело в том, что встроенный в среду разработки Flash плеер обладает рядом дополнительных возможностей, поэтому он занимает больше памяти и работает несколько медленнее, чем плеер автономный. Как это не странно, но плеер в Internet Explorer немного более производительный по сравнению с автономным плеером. Однако если открыть два окна браузера со страницами, содержащими swf-фильмы, то скорость выполнения кода резко упадет. Производительность падает даже, если окно браузера с фильмом теряет фокус. Замечено, что плеер для Mac OS значительно более требователен к машинным ресурсам, чем плеер для Windows. Поэтому если ваш клиент работает на Macintosh, стоит быть готовым к тому, что созданный вами фильм будет “тормозить” на его машине значительно более сильно, чем на вашей.


aksios 30.08.2007 17:52

Переменные это самый приметивный уровень. Обычно то, что выглядит даже как переменные не просто "закодировано", а это часть более сложной системы защиты, т.е. имя не абракадабра, а логически заданный кусок кодового сообщения. Т.е. при такой записи набор переменных + операторы которые отображаются никак не соответствуют исходнику.
В отношении Гурского: есть сомнение, что он так лохонулся, что стал сравнивать длины имен переменных в прямом смысле - скока символов букв в названии. Вроде как под имя переменной всегда выделяется одинаковая по размеру ячейка. Скока в ней останется нулей значения не играет.
Скорее речь о локальных переменных внутри еще кучи объектов. Длина имени такой переменной будет длинной, а поиск ее затруднительным.


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

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