/[cvs]/nfo/perl/scripts/fluscate/doc/fluscate.html
ViewVC logotype

Annotation of /nfo/perl/scripts/fluscate/doc/fluscate.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations)
Fri Jul 23 12:56:09 2004 UTC (19 years, 11 months ago) by joko
Branch: MAIN
Changes since 1.2: +12 -3 lines
File MIME type: text/html
updated pod

1 joko 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2     <html xmlns="http://www.w3.org/1999/xhtml">
3     <head>
4     <title>fluscate - The Flash Obfuscator</title>
5     <link rel="stylesheet" href="http://netfrag.org/horde/css.php?app=chora" type="text/css" />
6     <link rev="made" href="mailto:" />
7     </head>
8    
9     <body>
10     <table border="0" width="100%" cellspacing="0" cellpadding="3">
11     <tr><td class="block" valign="middle">
12     <big><strong><span class="block">&nbsp;fluscate - The Flash Obfuscator</span></strong></big>
13     </td></tr>
14     </table>
15    
16     <p><a name="__index__"></a></p>
17     <!-- INDEX BEGIN -->
18    
19     <ul>
20    
21     <li><a href="#features">Features</a></li>
22     <ul>
23    
24     <li><a href="#functions">Functions</a></li>
25     </ul>
26    
27 joko 1.3 <li><a href="#dependencies">Dependencies</a></li>
28 joko 1.1 <li><a href="#usage">Usage</a></li>
29     <ul>
30    
31 joko 1.2 <li><a href="#win32">win32</a></li>
32     <li><a href="#_nix">*nix</a></li>
33     </ul>
34    
35     <li><a href="#development">Development</a></li>
36     <ul>
37    
38     <li><a href="#todo">Todo</a></li>
39     <li><a href="#wishlist">Wishlist</a></li>
40     <li><a href="#notes">Notes</a></li>
41 joko 1.1 </ul>
42    
43     </ul>
44     <!-- INDEX END -->
45    
46     <hr />
47 joko 1.2 <pre>
48     This software is Copyright (C) 2004 Andreas Motl
49     Ideas and future AppleScript integration by Holger Marseille.
50    
51     This program is free software; you can redistribute it and/or
52     modify it under the terms of the GNU General Public License
53     as published by the Free Software Foundation; either version 2
54     of the License, or (at your option) any later version.
55    
56     This program is distributed in the hope that it will be useful,
57     but WITHOUT ANY WARRANTY; without even the implied warranty of
58     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
59     GNU General Public License for more details.
60    
61     You should have received a copy of the GNU General Public License
62     along with this program; if not, write to the Free Software
63     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</pre>
64 joko 1.1 <p>
65     <a href="#__index__"><small>back to top</small></a>
66     </p>
67     <hr />
68     <h1><a name="features">Features</a></h1>
69     <p>
70     </p>
71 joko 1.2 <h2><a name="functions">Functions</a></h2>
72     <pre>
73     fluscate handles two different styles of function declarations:</pre>
74 joko 1.1 <pre>
75     1. &quot;Normal&quot; ones
76     function mp3Player ('arg1', 'arg2')</pre>
77     <pre>
78     2. There may be &quot;stacked&quot; function declarations
79     push 'mp3Player'
80     function ()</pre>
81     <p>
82     <a href="#__index__"><small>back to top</small></a>
83     </p>
84     <hr />
85 joko 1.3 <h1><a name="dependencies">Dependencies</a></h1>
86     <pre>
87     &quot;flasm&quot; is required to disassemble swf files, see <a href="http://www.nowrap.de/flasm.html">http://www.nowrap.de/flasm.html</a>
88     ACKs go to Igor Kogan.</pre>
89     <p>
90     <a href="#__index__"><small>back to top</small></a>
91     </p>
92     <hr />
93 joko 1.2 <h1><a name="usage">Usage</a></h1>
94     <p>
95     </p>
96     <h2><a name="win32">win32</a></h2>
97     <pre>
98     #&gt; flasm.exe -d puzzle.swf &gt; puzzle.flm
99     #&gt; cat puzzle.flm | perl fluscate.pl &gt; puzzle_fusc.flm
100     #&gt; flasm.exe -a puzzle_fusc.flm</pre>
101     <p>
102     </p>
103     <h2><a name="_nix">*nix</a></h2>
104     <pre>
105 joko 1.3 #&gt; ./flasm -d puzzle.swf &gt; puzzle.flm
106     #&gt; cat puzzle.flm | ./fluscate.pl &gt; puzzle_fusc.flm
107     #&gt; ./flasm -a puzzle_fusc.flm</pre>
108 joko 1.1 <p>
109     <a href="#__index__"><small>back to top</small></a>
110     </p>
111     <hr />
112 joko 1.2 <h1><a name="development">Development</a></h1>
113 joko 1.1 <p>
114     </p>
115 joko 1.2 <h2><a name="todo">Todo</a></h2>
116     <pre>
117     - provide list of flash event handler names to exclude from symbol replacement</pre>
118 joko 1.1 <p>
119     </p>
120 joko 1.2 <h2><a name="wishlist">Wishlist</a></h2>
121     <pre>
122     - komplexere verschlüsselung als &quot;-1, -2 ...&quot; z-b nicht in der numerischen reihenfolge sondern nach
123     zufallsprinip (-21,-3,-89)? (-&gt;random)
124     - evtl. constants nach abfrage ersetzen ? leider sehr aufwendig, bei vielen constants (-&gt;ask)
125     - rausgeben des arrays mit den &quot;neuen&quot; werten um evtl die obfuscation rückgängig zu machen (-&gt;undo)
126     - &quot; push 0
127     ls:
128     dup
129     trace
130     branchIfTrue ls&quot;
131     ... after each &quot;constants&quot; declaration (-&gt;pollute)
132     - what about other symbols beside &quot;function&quot;s? (e.g. variables) (-&gt;mode)</pre>
133 joko 1.1 <p>
134     </p>
135 joko 1.2 <h2><a name="notes">Notes</a></h2>
136     <pre>
137     - no function may be called &quot;Initialize&quot;, rename it to (e.g.) &quot;Initialize2&quot;, reassembling will not work otherwise
138     (doesn't matter when obfuscating since function names will be replaced of course)
139     - function names seem to be/work case insensitive (shuffle &lt;-&gt; Shuffle)
140     - successfully tested with <a href="http://download.macromedia.com/pub/flash/showme/win/puzzle.zip">http://download.macromedia.com/pub/flash/showme/win/puzzle.zip</a>
141     - make sure -1, -2, -3, .... gets replaced with '-1', '-2', '-3', ...
142     - there are multiple caller lines: callFunction, callMethod; do we have to take special care to methods?
143     - &quot;getMember&quot; and &quot;getVariable&quot; also do function calls!
144     - there are reserved function names which must not be replaced! (-&gt; event handlers, e.g. &quot;onPress&quot;)</pre>
145 joko 1.1 <p><a href="#__index__"><small>back to top</small></a></p>
146     <table border="0" width="100%" cellspacing="0" cellpadding="3">
147     <tr><td class="block" valign="middle">
148     <big><strong><span class="block">&nbsp;fluscate - The Flash Obfuscator</span></strong></big>
149     </td></tr>
150     </table>
151    
152     </body>
153    
154     </html>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed