/[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.2 - (show annotations)
Fri Jul 23 12:25:11 2004 UTC (19 years, 11 months ago) by joko
Branch: MAIN
Changes since 1.1: +72 -54 lines
File MIME type: text/html
updated

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

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