--- nfo/perl/scripts/fluscate/doc/fluscate.html 2004/07/23 12:13:14 1.1 +++ nfo/perl/scripts/fluscate/doc/fluscate.html 2004/07/26 16:28:14 1.5 @@ -21,35 +21,57 @@
This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details.
-You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -=cut
++ This software is Copyright (C) 2004 Andreas Motl + Ideas and future AppleScript integration by Holger Marseille. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.@@ -57,21 +79,14 @@
-
+ See ASO Pro: http://www.genable.com/aso/preview.html
-
+ fluscate handles two different styles of function declarations:
1. "Normal" ones function mp3Player ('arg1', 'arg2')@@ -83,38 +98,121 @@ back to top
+ "flasm" is required to disassemble swf files, see http://www.nowrap.de/flasm.html + ACKs go to Igor Kogan.+
+back to top +
++
++ #> flasm.exe -d puzzle.swf > puzzle.flm + #> cat puzzle.flm | perl fluscate.pl > puzzle_fusc.flm + #> flasm.exe -a puzzle_fusc.flm+
+
++ #> ./flasm -d puzzle.swf > puzzle.flm + #> cat puzzle.flm | ./fluscate.pl > puzzle_fusc.flm + #> ./flasm -a puzzle_fusc.flm+
+back to top +
++
++ - provide list of flash event handler names to exclude from symbol replacement+
+
++ - komplexere verschlüsselung als "-1, -2 ..." z-b nicht in der numerischen reihenfolge sondern nach + zufallsprinip (-21,-3,-89)? (->random) + - evtl. constants nach abfrage ersetzen ? leider sehr aufwendig, bei vielen constants (->ask) + - rausgeben des arrays mit den "neuen" werten um evtl die obfuscation rückgängig zu machen (->undo) + - " push 0 + ls: + dup + trace + branchIfTrue ls" + ... after each "constants" declaration (->pollute) + - what about other symbols beside "function"s? (e.g. variables) (->mode) + - include list of ->keywords from: + http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/ + - replace symbols in multiple files (->multifile)+
+
++ - no function may be called "Initialize", rename it to (e.g.) "Initialize2", reassembling will not work otherwise (doesn't matter when obfuscating since function names will be replaced of course) - function names seem to be/work case insensitive (shuffle <-> Shuffle) - successfully tested with http://download.macromedia.com/pub/flash/showme/win/puzzle.zip - make sure -1, -2, -3, .... gets replaced with '-1', '-2', '-3', ... - there are multiple caller lines: callFunction, callMethod; do we have to take special care to methods? - - ``getMember'' and ``getVariable'' also do function calls! - - there are reserved function names which must not be replaced! (-> event handlers, e.g. ``onPress'')
+ Flasm: + http://www.nowrap.de/flasm.html + http://www.opaque.net/~dave/flasm/ + Flare: http://www.nowrap.de/flare.html + Sothink SWF Decompiler: http://www.srctec.com/flashdecompiler/ + Imperator FLA: http://www.ave-imperator.com/ + SWF Decompiler: http://www.19.5degs.com/swfdecompiler.php + Gordon: http://www.futurecandy.com/
-
+ URL Action Editor and Actionscript Viewer: + http://www.buraks.com/ + http://voisen.org/archives/2003/02/uae_303_and_asv_309.php + SE|PY ActionScript Editor: http://www.sephiroth.it/python/sepy.php
-
+ ASO Pro (ActionScript Obfuscator Pro): http://www.genable.com/aso/preview.html + SWOB (swf obfuscator): http://home.byu.net/jtb64/Swob.htm + OBFU - A Flash Actionscript obfuscator: http://opaque.net/~dave/obfu/+
+
++ ActionScript Protection: + http://www.as-protect.com/ + http://www.quasimondo.com/archives/000377.php + Developer's SWF Guardian: http://anyrd.anyorganization.com/ + Password Busting / SWF Protections: http://www.searchlores.org/cinix_fla.htm+
+
++ + XPath for Actionscript and other stuff: http://www.xfactorstudio.com/Actionscript/ + SerializerClass: http://sourceforge.net/projects/serializerclass/ + AMF::Perl - Flash Remoting in Perl and Python - using Flash Remoting protocol (AMF): + http://simonf.com/amfperl/ + PEAR::SWF - Read and write SWF head tag: http://www.sephiroth.it/test/php/SWF/ + AMFPHP - Flash Remoting for PHP: http://www.amfphp.org/