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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (show annotations)
Mon Jul 26 16:28:14 2004 UTC (19 years, 11 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.4: +12 -2 lines
File MIME type: text/html
updated pod

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="#obfuscation">Obfuscation</a></li>
25 <li><a href="#functions">Functions</a></li>
26 </ul>
27
28 <li><a href="#dependencies">Dependencies</a></li>
29 <li><a href="#usage">Usage</a></li>
30 <ul>
31
32 <li><a href="#win32">win32</a></li>
33 <li><a href="#_nix">*nix</a></li>
34 </ul>
35
36 <li><a href="#development">Development</a></li>
37 <ul>
38
39 <li><a href="#todo">Todo</a></li>
40 <li><a href="#wishlist">Wishlist</a></li>
41 <li><a href="#notes">Notes</a></li>
42 </ul>
43
44 <li><a href="#links">Links</a></li>
45 <ul>
46
47 <li><a href="#actionscript_decompilers___disassemblers">ActionScript Decompilers / Disassemblers</a></li>
48 <li><a href="#actionscript_editors___co_">ActionScript Editors &amp; Co.</a></li>
49 <li><a href="#obfuscators">Obfuscators</a></li>
50 <li><a href="#misc">Misc</a></li>
51 <li><a href="#offtopic">Off-Topic</a></li>
52 </ul>
53
54 </ul>
55 <!-- INDEX END -->
56
57 <hr />
58 <pre>
59 This software is Copyright (C) 2004 Andreas Motl
60 Ideas and future AppleScript integration by Holger Marseille.
61
62 This program is free software; you can redistribute it and/or
63 modify it under the terms of the GNU General Public License
64 as published by the Free Software Foundation; either version 2
65 of the License, or (at your option) any later version.
66
67 This program is distributed in the hope that it will be useful,
68 but WITHOUT ANY WARRANTY; without even the implied warranty of
69 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
70 GNU General Public License for more details.
71
72 You should have received a copy of the GNU General Public License
73 along with this program; if not, write to the Free Software
74 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</pre>
75 <p>
76 <a href="#__index__"><small>back to top</small></a>
77 </p>
78 <hr />
79 <h1><a name="features">Features</a></h1>
80 <p>
81 </p>
82 <h2><a name="obfuscation">Obfuscation</a></h2>
83 <pre>
84 See ASO Pro: <a href="http://www.genable.com/aso/preview.html">http://www.genable.com/aso/preview.html</a></pre>
85 <p>
86 </p>
87 <h2><a name="functions">Functions</a></h2>
88 <pre>
89 fluscate handles two different styles of function declarations:</pre>
90 <pre>
91 1. &quot;Normal&quot; ones
92 function mp3Player ('arg1', 'arg2')</pre>
93 <pre>
94 2. There may be &quot;stacked&quot; function declarations
95 push 'mp3Player'
96 function ()</pre>
97 <p>
98 <a href="#__index__"><small>back to top</small></a>
99 </p>
100 <hr />
101 <h1><a name="dependencies">Dependencies</a></h1>
102 <pre>
103 &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>
104 ACKs go to Igor Kogan.</pre>
105 <p>
106 <a href="#__index__"><small>back to top</small></a>
107 </p>
108 <hr />
109 <h1><a name="usage">Usage</a></h1>
110 <p>
111 </p>
112 <h2><a name="win32">win32</a></h2>
113 <pre>
114 #&gt; flasm.exe -d puzzle.swf &gt; puzzle.flm
115 #&gt; cat puzzle.flm | perl fluscate.pl &gt; puzzle_fusc.flm
116 #&gt; flasm.exe -a puzzle_fusc.flm</pre>
117 <p>
118 </p>
119 <h2><a name="_nix">*nix</a></h2>
120 <pre>
121 #&gt; ./flasm -d puzzle.swf &gt; puzzle.flm
122 #&gt; cat puzzle.flm | ./fluscate.pl &gt; puzzle_fusc.flm
123 #&gt; ./flasm -a puzzle_fusc.flm</pre>
124 <p>
125 <a href="#__index__"><small>back to top</small></a>
126 </p>
127 <hr />
128 <h1><a name="development">Development</a></h1>
129 <p>
130 </p>
131 <h2><a name="todo">Todo</a></h2>
132 <pre>
133 - provide list of flash event handler names to exclude from symbol replacement</pre>
134 <p>
135 </p>
136 <h2><a name="wishlist">Wishlist</a></h2>
137 <pre>
138 - komplexere verschlüsselung als &quot;-1, -2 ...&quot; z-b nicht in der numerischen reihenfolge sondern nach
139 zufallsprinip (-21,-3,-89)? (-&gt;random)
140 - evtl. constants nach abfrage ersetzen ? leider sehr aufwendig, bei vielen constants (-&gt;ask)
141 - rausgeben des arrays mit den &quot;neuen&quot; werten um evtl die obfuscation rückgängig zu machen (-&gt;undo)
142 - &quot; push 0
143 ls:
144 dup
145 trace
146 branchIfTrue ls&quot;
147 ... after each &quot;constants&quot; declaration (-&gt;pollute)
148 - what about other symbols beside &quot;function&quot;s? (e.g. variables) (-&gt;mode)
149 - include list of -&gt;keywords from:
150 <a href="http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/">http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/</a>
151 - replace symbols in multiple files (-&gt;multifile)</pre>
152 <p>
153 </p>
154 <h2><a name="notes">Notes</a></h2>
155 <pre>
156 - no function may be called &quot;Initialize&quot;, rename it to (e.g.) &quot;Initialize2&quot;, reassembling will not work otherwise
157 (doesn't matter when obfuscating since function names will be replaced of course)
158 - function names seem to be/work case insensitive (shuffle &lt;-&gt; Shuffle)
159 - 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>
160 - make sure -1, -2, -3, .... gets replaced with '-1', '-2', '-3', ...
161 - there are multiple caller lines: callFunction, callMethod; do we have to take special care to methods?
162 - &quot;getMember&quot; and &quot;getVariable&quot; also do function calls!
163 - there are reserved function names which must not be replaced! (-&gt; event handlers, e.g. &quot;onPress&quot;)</pre>
164 <p>
165 <a href="#__index__"><small>back to top</small></a>
166 </p>
167 <hr />
168 <h1><a name="links">Links</a></h1>
169 <p>
170 </p>
171 <h2><a name="actionscript_decompilers___disassemblers">ActionScript Decompilers / Disassemblers</a></h2>
172 <pre>
173 Flasm:
174 <a href="http://www.nowrap.de/flasm.html">http://www.nowrap.de/flasm.html</a>
175 <a href="http://www.opaque.net/~dave/flasm/">http://www.opaque.net/~dave/flasm/</a>
176 Flare: <a href="http://www.nowrap.de/flare.html">http://www.nowrap.de/flare.html</a>
177 Sothink SWF Decompiler: <a href="http://www.srctec.com/flashdecompiler/">http://www.srctec.com/flashdecompiler/</a>
178 Imperator FLA: <a href="http://www.ave-imperator.com/">http://www.ave-imperator.com/</a>
179 SWF Decompiler: <a href="http://www.19.5degs.com/swfdecompiler.php">http://www.19.5degs.com/swfdecompiler.php</a>
180 Gordon: <a href="http://www.futurecandy.com/">http://www.futurecandy.com/</a></pre>
181 <p>
182 </p>
183 <h2><a name="actionscript_editors___co_">ActionScript Editors &amp; Co.</a></h2>
184 <pre>
185 URL Action Editor and Actionscript Viewer:
186 <a href="http://www.buraks.com/">http://www.buraks.com/</a>
187 <a href="http://voisen.org/archives/2003/02/uae_303_and_asv_309.php">http://voisen.org/archives/2003/02/uae_303_and_asv_309.php</a>
188 SE|PY ActionScript Editor: <a href="http://www.sephiroth.it/python/sepy.php">http://www.sephiroth.it/python/sepy.php</a></pre>
189 <p>
190 </p>
191 <h2><a name="obfuscators">Obfuscators</a></h2>
192 <pre>
193 ASO Pro (ActionScript Obfuscator Pro): <a href="http://www.genable.com/aso/preview.html">http://www.genable.com/aso/preview.html</a>
194 SWOB (swf obfuscator): <a href="http://home.byu.net/jtb64/Swob.htm">http://home.byu.net/jtb64/Swob.htm</a>
195 OBFU - A Flash Actionscript obfuscator: <a href="http://opaque.net/~dave/obfu/">http://opaque.net/~dave/obfu/</a></pre>
196 <p>
197 </p>
198 <h2><a name="misc">Misc</a></h2>
199 <pre>
200 ActionScript Protection:
201 <a href="http://www.as-protect.com/">http://www.as-protect.com/</a>
202 <a href="http://www.quasimondo.com/archives/000377.php">http://www.quasimondo.com/archives/000377.php</a>
203 Developer's SWF Guardian: <a href="http://anyrd.anyorganization.com/">http://anyrd.anyorganization.com/</a>
204 Password Busting / SWF Protections: <a href="http://www.searchlores.org/cinix_fla.htm">http://www.searchlores.org/cinix_fla.htm</a></pre>
205 <p>
206 </p>
207 <h2><a name="offtopic">Off-Topic</a></h2>
208 <pre>
209
210 XPath for Actionscript and other stuff: <a href="http://www.xfactorstudio.com/Actionscript/">http://www.xfactorstudio.com/Actionscript/</a>
211 SerializerClass: <a href="http://sourceforge.net/projects/serializerclass/">http://sourceforge.net/projects/serializerclass/</a>
212 AMF::Perl - Flash Remoting in Perl and Python - using Flash Remoting protocol (AMF):
213 <a href="http://simonf.com/amfperl/">http://simonf.com/amfperl/</a>
214 PEAR::SWF - Read and write SWF head tag: <a href="http://www.sephiroth.it/test/php/SWF/">http://www.sephiroth.it/test/php/SWF/</a>
215 AMFPHP - Flash Remoting for PHP: <a href="http://www.amfphp.org/">http://www.amfphp.org/</a></pre>
216 <p><a href="#__index__"><small>back to top</small></a></p>
217 <table border="0" width="100%" cellspacing="0" cellpadding="3">
218 <tr><td class="block" valign="middle">
219 <big><strong><span class="block">&nbsp;fluscate - The Flash Obfuscator</span></strong></big>
220 </td></tr>
221 </table>
222
223 </body>
224
225 </html>

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