Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Секреты разработки игр в Macromedia Flash MX - Макар Дж.

Макар Дж. Секреты разработки игр в Macromedia Flash MX — М.: КУДИЦ-ОБРАЗ , 2004. — 608 c.
ISBN 0-201-77021-0
Скачать (прямая ссылка): sekretirazrabotkiigr2004.djvu
Предыдущая << 1 .. 164 165 166 167 168 169 < 170 > 171 172 173 174 175 176 .. 210 >> Следующая

кодирования, которая позволяет вам проще менять ваше содержание и
затрудняет для других его получение. Например, предположим, у вас есть
пазл джигсо, который загружает картинки динамически. Вор может легко
прочесть код FTTML вашей Web-страницы, чтобы найти имя вашего SWF-файла,
но как он узнает имена ваших файлов изображений? В сноске 3 ниже я
расскажу об одном способе, который позволяет узнать эти имена файлов, но
использование большого числа файлов реально обеспечивает уровень защиты,
который будет отпугивать наиболее бесчестных воришек.
498
Приложения
Обзор ActionScript: indexOf
Использованный выше метод, indexOf, является методом объекта string. Он
проверяет, существует ли переданный в него параметр в строке, для которой
применен этот метод. Если искомая строка существует, то возвращается
позиция начала этой строки. Если искомая строка не существует, то
возвращается число -1.
Слабое место: встраивание SWF в HTML
Некто может написать страницу HTML, которая включает ваш SWF-файл, даж
если он находится на другом сервере. При посещении этот HTML-файл
загружае SWF, и посетители страницы будут думать, что содержание
принадлежит вл; дельцу этого сайта.
Средство защиты
К сожалению, не существует хорошего решения для предотвращения подобном
проблемы. Технически ваши файлы не были украдены. Обычным методом, ис
пользуемым большинством людей, является частое переименование файлов. Эт
может быть скучным делом, но это работает. Если сайты указывают на ваши
игры и вы переименовываете ваши файлы, эти страницы больше не будут
показывать ваши файлы. Администратор такого сайта должен будет снова
просмотреть вам HTML-код и найти новое имя. Если вы нашли сайт, который
постоянно обновля свои страницы каждый раз, когда вы переименовываете
ваши файлы, вы можег попробовать связаться с провайдером владельца сайта,
ISP (Internet servic provider - более подробная информация приведена
далее в этом приложении).
Слабое место: раскрытие кода ActionScript
Хакер может загрузить ваши файлы SWF и затем открыть с помощью
программного обеспечения, разработанного для чтения кода ActionScript. С
по мощью этого программного обеспечения ваш код вскрывается вместе с
именами файлов, которые вы можете загружать из него. Это может быть
огромной проблемой, если вы имеете коммерческие секреты или просто не
хоти"* распространять повсюду ваш код. Кроме того, опытный хакер может
исполь зовать программу, которая позволяет ему редактировать двоичные
файлы, тл кие, как SWF. Это означает, что хакер может удалить
установленную вами защиту, вроде защиты с помощью свойства__url, и
сохранить файл снова.
Приложение А. Защита ваших игр
Средство защиты
Нет ничего, что могло бы удержать серьезного преступника or •
ActionScript в вашем файле. Но есть кое-что, что позволит вам дьяио "и .
N
нуться, а именно...путаница! Запутать что-либо означает сделать пи или
трудным для понимания. Запутыватель представляет собой при которое берег
ваш файл, читает каждый бит кода и заменяет имам >|4fW ной. Код
ActionScript все так же работает - он просто использует сф.1мщ| ¦ на
переменных и другие ссылки. Ниже приведен пример функции, Ki'inpgfj
запутана.
2
3
4
5
6
7
8
9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
function
mu___,
var var var var va r var var var var
F_ Fu_0, eval eval eval eval eval eva 1 eval eva 1 eval
]}•eaYTO Fu ) {
(Effiiim P, A Qii, F, 01/4C
var eval eval eva 1 eval eval eval eval var W while eval eval eval eval
eval eval eval eval eval W + + ;
}
eval ( " Ё " )
eval
("b
EX_
Pa"
II
PY" mY" ("b_ ( " Ё " ]_P" ) = ') =
)
') ;
new Array () ; 0.0174532925199433;
("Pa ("..._
("Ё") [0] = ("Ё")[1] = ("Ё") [2] = ("Ё")[3] = = 0;
(W < 4) {
) = ) = ) = ) =
Math.sin(eval Math.cos(eval = new Array
("A Qii")
new
new
new
Array
Array
Array
A Qii":
eval
eval
("b_]
("b
" _m " § "EX
eval ( eval ( (-eva1
) = F " Ё " ) [ W ] [ 0 ] " 0")) ; "E")[W1[1] " m")) ;
( " F_ ] f goii_H " ) [0][1], eval
eval /
E(Eum_P E(Eum_P ( " ECEum §" ) *
(eval ("
') [W] [0] ;
') [W] [2] ; .P") [W] [2] )
eval
§") + F) ;
eval ("Pi")
= eval ( 4 01/4 C_") + (eval ("EX_") = eval ("mu _") - (eval ("ЁХ ")
¦
HO ¦
eval ( " Ё " ) [0] [0]
evt
(" oii
("Ё") [1] [0], eval ("Ё" ) [1] [1] )
500
Приложения
31 eval ("F ] fgoti Н")( "ой HI" , eval ( "Ё" ) [1] [ 0 ] ,
eval
("Ё")[1][1], eval ( "E")[2][0], eval ("Ё") [ 2 ] [ 1 ] ) ;
32 eval ("F ]fgoti H" ) ( "ой H2" , eval ("E") [2] [ 0], eval
("Ё")[2][1], eval ( " Ё " ) [ 3 ] [0], eval ("Ё") [ 3 ] [ 1 ]
) ;
33 eval ("F ]fgou H" ) ( "бй H3" , eval ("Ё") [3] [0], eval
("Ё")[3][1], eval ( " Ё " ) [ 0 ] [0], eval ( "Ё" ) [ 0 ]
[ 1 ] ) ;
34 eval ("F_]fgoti_H") ( "e PPNou H", eval ("01/4C ") -
("Fu 0"), 35 eval ("тй " ), eval ( " 01 / 4 С ") + e v a
("Fti 0"), eval ("тй ")) ;
35 this.eval ("Uti_ " ) ¦ X = eval ("01/4 C_") /
36 this.eval ("йй " ) • У = eval ("тй " ) ;
Предыдущая << 1 .. 164 165 166 167 168 169 < 170 > 171 172 173 174 175 176 .. 210 >> Следующая