--- nfo/perl/scripts/fluscate/doc/fluscate.html 2004/07/23 12:13:14 1.1 +++ nfo/perl/scripts/fluscate/doc/fluscate.html 2004/07/23 12:25:11 1.2 @@ -21,35 +21,45 @@
  • Features
  • -
  • Notes
  • -
  • Todo / Review
  • Usage
  • + +
  • Development
  • +
    -

    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.

    back to top

    @@ -57,21 +67,9 @@

    Features

    -

    Requests - - 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)

    -

    -

    -

    Functions -fluscate handles two different styles of function declarations:

    +

    Functions

    +
    +  fluscate handles two different styles of function declarations:
       1. "Normal" ones
           function mp3Player ('arg1', 'arg2')
    @@ -83,38 +81,58 @@ back to top


    -

    Notes - - 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'')

    +

    Usage

    -back to top

    -
    -

    Todo / Review - - what about other symbols beside ``function''s?

    +

    win32

    +
    +  #> flasm.exe -d puzzle.swf > puzzle.flm
    +  #> cat puzzle.flm | perl fluscate.pl > puzzle_fusc.flm
    +  #> flasm.exe -a puzzle_fusc.flm
    +

    +

    +

    *nix

    +
    +  #> flasm -d puzzle.swf > puzzle.flm
    +  #> cat puzzle.flm | fluscate.pl > puzzle_fusc.flm
    +  #> flasm -a puzzle_fusc.flm

    back to top


    -

    Usage

    +

    Development

    -

    Usage (win32): - #> flasm.exe -d puzzle.swf > puzzle.flm - #> cat puzzle.flm | perl fluscate.pl > puzzle_fusc.flm - #> flasm.exe -a puzzle_fusc.flm

    +

    Todo

    +
    +  - provide list of flash event handler names to exclude from symbol replacement

    -

    Usage (*nix): - #> flasm -d puzzle.swf > puzzle.flm - #> cat puzzle.flm | fluscate.pl > puzzle_fusc.flm - #> flasm -a puzzle_fusc.flm

    +

    Wishlist

    +
    +  - 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)
    +

    +

    +

    Notes

    +
    +  - 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")

    back to top