ActionScript: Difference between revisions

Content deleted Content added
m Template:Infobox programming language parameters: move to proper place, time MOS:CURRENT reference > clarify. Small WP:COPYEDITs WP:EoS clarify. Respaces, cut whitespace characters, to standardize, aid work via small screens, update-standardize.
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Eastmain - 23915
 
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}}