ActionScript: Разлика между версии

Изтрито е съдържание Добавено е съдържание
+шаблон
Rado9818 (беседа | приноси)
Редакция без резюме
Ред 142:
* XML
* XMLList
 
== Защита на кода ==
<blockquote>Както при всички сериозни програмни езици, които се нуждаят от компилиране, като Flash и Microsoft .NET, след като един SWF файл е записан, то той може да бъде декомпилиран до началния му изходен код. Някои декомпилатори са способни на почти пълна реконструкция на оригиналния код, който е бил написан по време на създаването (въпреки че крайните резултатите варират във всеки отделен случай).</blockquote><blockquote>За да се предотврати декомпилацията, Adobe въвеждат обфускация.</blockquote>Код преди обфускация:
private function getNeighbours(i:int, j:int):Array{
var a:Array = new Array();
for (var k = 0; k < 8; k++){
var ni = i + int(neighbour_map[k][0]);
var nj = j + int(neighbour_map[k][1]) ;
if (ni < 0 || ni >= xsize || nj < 0 || nj >= ysize)
continue;
a.push(Cell(cells[ni][nj]));
}
return a;
}
Код след обфускация:
private function getNeighbours(_arg1:int, _arg2:int):Array{
var _local3:Array = -(((null - !NULL!) % ~(undefined)));
var _local4:*;
var _local5:*;
var _local6:*;
_local3 = new Array();
_local4 = 0;
for (;//unresolved jump
, _arg2 < 8;_local4++) {
_local5 = (_arg1 + int(!NULL!));
_local6 = (_arg2 + int(!NULL!));
if (true){
_arg1 = (((//unresolved nextvalue or nextname << !NULL!) + !NULL!)
<< undefined);
_arg1 = (!(!NULL!) ^ !NULL!);
(!NULL! instanceof !NULL!);
var _local1 = (((!NULL! as !NULL!) + !NULL!) == this);
if (!(!NULL! == !NULL!)){
-((true << !NULL!)).push(Cell(cells[_local5][_local6]));
}
}
if (!true){
(_local6 < 0);
(_local6 < 0);
(_local5 < 0);
}
}
return (_local3);
}
 
== Външни препратки ==