/[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.3 - (show 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 <!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 <li><a href="#dependencies">Dependencies</a></li>
28 <li><a href="#usage">Usage</a></li>
29 <ul>
30
31 <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 </ul>
42
43 </ul>
44 <!-- INDEX END -->
45
46 <hr />
47 <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 <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 <h2><a name="functions">Functions</a></h2>
72 <pre>
73 fluscate handles two different styles of function declarations:</pre>
74 <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 <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 <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 #&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 <p>
109 <a href="#__index__"><small>back to top</small></a>
110 </p>
111 <hr />
112 <h1><a name="development">Development</a></h1>
113 <p>
114 </p>
115 <h2><a name="todo">Todo</a></h2>
116 <pre>
117 - provide list of flash event handler names to exclude from symbol replacement</pre>
118 <p>
119 </p>
120 <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 <p>
134 </p>
135 <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 <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