ActionScript: Difference between revisions

Content deleted Content added
Code protection: Make it clear a decompiler can't retrieve the original code, rather it's a very close approximation
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Eastmain - 23915
 
(2 intermediate revisions by 2 users not shown)
Line 7:
| paradigm = [[Multi-paradigm]]: [[Object-oriented programming|object-oriented]] ([[Prototype-based programming|prototype-based]]), [[Functional programming|functional]], [[Imperative programming|imperative]], [[Scripting language|scripting]]
| family = [[ECMAScript]]
| released = {{Start date and age|1998}}
| designer = [[Gary Grossman]]
| developer = [[Macromedia]] (now merged into [[Adobe Inc.|Adobe Systems]], 2005)
| released = {{Start date and age|1998}}
| latest release version = 3.0
| latest release date = {{Start date and age|2006|06|27}}
Line 19:
}}
{{Infobox file format
| name = ActionScript
| extension = .as
| mime = application/ecmascript<ref>{{IETF RFC|4329}} (limit compatible with EcmaScriptECMAScript)</ref>
}}
 
Line 141:
var txtHello: TextField = new TextField();
txtHello.text = "Hello World";
addParentthis.addChild(txtHello);
}
}
Line 291:
 
==Code protection==
Like most [[bytecode]] file formats, Flash [[SWF]] files can be [[decompilation|decompiled]] into their source code and assets (similarly to how [[.NET Framework|Microsoft .NET]] files can be decompiled). Some decompilers are capable of nearly full reconstruction of the original source file, approximate to the actual code that was used during creation (although results vary on a case-by-case basis).<ref>{{cite web |url=http://www.flashmagazine.com/reviews/detail/review_trillix_flash_decompiler_3/ |title=Third party review of another decompiler |publisher=Flashmagazine.com |date=October 21, 2007 |access-date=April 22, 2013 |archive-url=https://web.archive.org/web/20170620134350/http://www.flashmagazine.com/reviews/detail/review_trillix_flash_decompiler_3/ |archive-date=June 20, 2017 |url-status=dead}}</ref><ref>{{cite web |url=http://www.topshareware.com/reviews/10386-1/flash-decompiler.htm |title=Customer comments on one Flash decompiler |publisher=Topshareware.com |access-date=April 22, 2013 |archive-date=November 8, 2016 |archive-url=https://web.archive.org/web/20161108235827/http://www.topshareware.com/reviews/10386-1/flash-decompiler.htm |url-status=dead }}</ref><ref>[http://www.macupdate.com/reviews.php?id=11541 Customer comments on another Flash product] {{webarchive |url=https://web.archive.org/web/20060818085731/http://www.macupdate.com/reviews.php?id=11541 |date=August 18, 2006}}</ref>
 
In opposition to the decompilers, ActionScript [[obfuscated code|obfuscators]] have been introduced, which transform code into a form that breaks decompiler output while preserving the functionality and structure of the program. Higher-quality obfuscators implement lexical transformations such as identifier renaming, control flow transformation, and data abstraction transformation which collectively make it harder for decompilers to generate output likely to be useful to a human. Less robust obfuscators insert traps for decompilers. Such obfuscators either cause the decompiler software to crash unexpectedly or to generate unintelligible source code.{{Citation needed|date=March 2021}}