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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Fri Jul 23 12:13:14 2004 UTC revision 1.3 by joko, Fri Jul 23 12:56:09 2004 UTC
# Line 21  Line 21 
21          <li><a href="#features">Features</a></li>          <li><a href="#features">Features</a></li>
22          <ul>          <ul>
23    
                 <li><a href="#requests">Requests</a></li>  
24                  <li><a href="#functions">Functions</a></li>                  <li><a href="#functions">Functions</a></li>
25          </ul>          </ul>
26    
27          <li><a href="#notes">Notes</a></li>          <li><a href="#dependencies">Dependencies</a></li>
         <li><a href="#todo___review">Todo / Review</a></li>  
28          <li><a href="#usage">Usage</a></li>          <li><a href="#usage">Usage</a></li>
29          <ul>          <ul>
30    
31                  <li><a href="#usage__win32__">Usage (win32):</a></li>                  <li><a href="#win32">win32</a></li>
32                  <li><a href="#usage___nix__">Usage (*nix):</a></li>                  <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>          </ul>
42    
43  </ul>  </ul>
44  <!-- INDEX END -->  <!-- INDEX END -->
45    
46  <hr />  <hr />
47  <p>This program is free software; you can redistribute it and/or  <pre>
48  modify it under the terms of the GNU General Public License    This software is Copyright (C) 2004 Andreas Motl
49  as published by the Free Software Foundation; either version 2    Ideas and future AppleScript integration by Holger Marseille.
50  of the License, or (at your option) any later version.</p>    
51  <p>This program is distributed in the hope that it will be useful,    This program is free software; you can redistribute it and/or
52  but WITHOUT ANY WARRANTY; without even the implied warranty of    modify it under the terms of the GNU General Public License
53  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    as published by the Free Software Foundation; either version 2
54  GNU General Public License for more details.</p>    of the License, or (at your option) any later version.
55  <p>You should have received a copy of the GNU General Public License    
56  along with this program; if not, write to the Free Software    This program is distributed in the hope that it will be useful,
57  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.    but WITHOUT ANY WARRANTY; without even the implied warranty of
58  =cut</p>    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>  <p>
65  <a href="#__index__"><small>back to top</small></a>  <a href="#__index__"><small>back to top</small></a>
66  </p>  </p>
# Line 57  Foundation, Inc., 59 Temple Place - Suit Line 68  Foundation, Inc., 59 Temple Place - Suit
68  <h1><a name="features">Features</a></h1>  <h1><a name="features">Features</a></h1>
69  <p>  <p>
70  </p>  </p>
71  <h2><a name="requests__komplexere_verschlüsselung_als_1__2_____zb_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_">Requests  <h2><a name="functions">Functions</a></h2>
72    - komplexere verschlüsselung als ``-1, -2 ...'' z-b nicht in der numerischen reihenfolge sondern nach  <pre>
73      zufallsprinip (-21,-3,-89)? (-&gt;random)    fluscate handles two different styles of function declarations:</pre>
   - evtl. constants nach abfrage ersetzen ? leider sehr aufwendig, bei vielen constants (-&gt;ask)  
   - rausgeben des arrays mit den ``neuen'' werten um evtl die obfuscation rückgängig zu machen (-&gt;undo)  
   -  ``    push 0  
          ls:  
          dup  
          trace  
          branchIfTrue ls''  
     ... after each ``constants'' declaration (-&gt;pollute)</a></h2>  
 <p>  
 </p>  
 <h2><a name="functions_fluscate_handles_two_different_styles_of_function_declarations_">Functions  
 fluscate handles two different styles of function declarations:</a></h2>  
74  <pre>  <pre>
75    1. &quot;Normal&quot; ones    1. &quot;Normal&quot; ones
76        function mp3Player ('arg1', 'arg2')</pre>        function mp3Player ('arg1', 'arg2')</pre>
# Line 83  fluscate handles two different styles of Line 82  fluscate handles two different styles of
82  <a href="#__index__"><small>back to top</small></a>  <a href="#__index__"><small>back to top</small></a>
83  </p>  </p>
84  <hr />  <hr />
85  <h1><a name="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_">Notes  <h1><a name="dependencies">Dependencies</a></h1>
86    - no function may be called ``Initialize'', rename it to (e.g.) ``Initialize2'', reassembling will not work otherwise  <pre>
87      (doesn't matter when obfuscating since function names will be replaced of course)    &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    - function names seem to be/work case insensitive (shuffle &lt;-&gt; Shuffle)    ACKs go to Igor Kogan.</pre>
   - 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>  
   - 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! (-&gt; event handlers, e.g. ``onPress'')</a></h1>  
89  <p>  <p>
90  <a href="#__index__"><small>back to top</small></a>  <a href="#__index__"><small>back to top</small></a>
91  </p>  </p>
92  <hr />  <hr />
93  <h1><a name="todo___review__what_about_other_symbols_beside_functions">Todo / Review  <h1><a name="usage">Usage</a></h1>
94    - what about other symbols beside ``function''s?</a></h1>  <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>  <p>
109  <a href="#__index__"><small>back to top</small></a>  <a href="#__index__"><small>back to top</small></a>
110  </p>  </p>
111  <hr />  <hr />
112  <h1><a name="usage">Usage</a></h1>  <h1><a name="development">Development</a></h1>
113  <p>  <p>
114  </p>  </p>
115  <h2><a name="usage__win32______flasm_exe_d_puzzle_swf___puzzle_flm____cat_puzzle_flm___perl_fluscate_pl___puzzle_fusc_flm____flasm_exe_a_puzzle_fusc_flm">Usage (win32):  <h2><a name="todo">Todo</a></h2>
116    #&gt; flasm.exe -d puzzle.swf &gt; puzzle.flm  <pre>
117    #&gt; cat puzzle.flm | perl fluscate.pl &gt; puzzle_fusc.flm    - provide list of flash event handler names to exclude from symbol replacement</pre>
   #&gt; flasm.exe -a puzzle_fusc.flm</a></h2>  
118  <p>  <p>
119  </p>  </p>
120  <h2><a name="usage___nix______flasm_d_puzzle_swf___puzzle_flm____cat_puzzle_flm___fluscate_pl___puzzle_fusc_flm____flasm_a_puzzle_fusc_flm">Usage (*nix):  <h2><a name="wishlist">Wishlist</a></h2>
121    #&gt; flasm -d puzzle.swf &gt; puzzle.flm  <pre>
122    #&gt; cat puzzle.flm | fluscate.pl &gt; puzzle_fusc.flm    - komplexere verschlüsselung als &quot;-1, -2 ...&quot; z-b nicht in der numerischen reihenfolge sondern nach
123    #&gt; flasm -a puzzle_fusc.flm</a></h2>      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>  <p><a href="#__index__"><small>back to top</small></a></p>
146  <table border="0" width="100%" cellspacing="0" cellpadding="3">  <table border="0" width="100%" cellspacing="0" cellpadding="3">
147  <tr><td class="block" valign="middle">  <tr><td class="block" valign="middle">

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

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