Produce web pages with htp now.

Changed gif to png.


git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1384 379699f6-c40d-0410-875b-85095c16579e
master
hoenicke 20 years ago
parent 487a4b49d9
commit 7442ded059
  1. 22
      jode/build.xml
  2. 10
      jode/config.props
  3. BIN
      jode/doc/a-logo.gif
  4. 6
      jode/doc/applet.htp
  5. 13
      jode/doc/bluesky.htp
  6. 22
      jode/doc/download.htp
  7. 34
      jode/doc/faq.htp
  8. 188
      jode/doc/favicon.xpm
  9. 7
      jode/doc/feedback.htp
  10. 7
      jode/doc/history.htp
  11. 52
      jode/doc/htp.def
  12. 39
      jode/doc/index.htp
  13. BIN
      jode/doc/jode-logo.gif
  14. BIN
      jode/doc/jode-logo.png
  15. 67
      jode/doc/jode.htt
  16. 7
      jode/doc/license.htp
  17. 12
      jode/doc/links.htp
  18. BIN
      jode/doc/poweredbyhtp.png
  19. 50
      jode/doc/usage.htp
  20. BIN
      jode/doc/w3c_ab.png

@ -40,7 +40,6 @@
<property name="test.log" value="${test}/log"/>
<property name="jcpp" value="${scripts}/jcpp.pl"/>
<property name="php2html" value="${scripts}/php2html.pl"/>
<property name="versionfile" value="${src}/jode/GlobalOptions.java"/>
@ -250,19 +249,14 @@
<target name="doc" depends="doc-javadoc,doc-html"/>
<target name="check-html">
<uptodate property="html.uptodate">
<srcfiles dir="${basedir}" includes="${doc}/*.php"/>
<mapper type="glob" from="*.php" to="*.html"/>
</uptodate>
</target>
<target name="doc-html" depends="check-html"
if="php.present" unless="html.uptodate">
<execon dir="${doc}" executable="perl" parallel="true">
<arg value="${php2html}"/>
<fileset dir="${doc}" includes="*.php"/>
</execon>
<target name="doc-html" if="htp.present">
<apply executable="htp" dir="${doc}" dest="${doc}" parallel="false" relative="yes">
<arg value="-NODEPEND" />
<srcfile />
<targetfile />
<fileset dir="${doc}" includes="*.htp"/>
<mapper type="glob" from="*.htp" to="*.html"/>
</apply>
</target>
<target name="doc-javadoc">
<tstamp>

@ -19,10 +19,10 @@ javadoc.href=http://java.sun.com/products/jdk/1.2/docs/api/
# Remove the next line if perl is not installed.
perl.present=true
# Is PHP installed on your system?
# Is HTP installed on your system?
#
# php is needed to generate html files from php files.
# You also need perl.
# htp is needed to generate html files from htp files.
# see http://htp.sourceforge.net/
#
# Remove the next line if either perl or php is not installed.
php.present=true
# Remove the next line if either htp is not installed.
htp.present=true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 894 B

@ -1,5 +1,4 @@
<?php require("header.inc"); ?>
<h1>The <i>JODE</i> Applet</h1>
<section title="The <i>JODE</i> Applet">
<p>Please be patience, loading the applet may take some time.</p>
@ -35,4 +34,5 @@ files from the same server as the applet, and this is the reason why
you have to use such a weird URL.<br><br>
Save probably doesn't work, because it is forbidden by your browser.<br><br>
<?php require("footer.inc"); ?>
</section>

@ -1,10 +1,7 @@
<?php require("header.inc"); ?>
<h1>Blue Sky</h1>
<section title="Wish List">
<p>This section contains features that I think would be great to have,
but are also very hard to implement. The name of the section is
inspired, by <a
href="http://www.mozilla.org/blue-sky/">Mozilla</a>.</p>
but are also very hard to implement. </p>
<p>Currently this are all my own ideas. But if you send me an idea
for an interesting feature, I will add it to this list.</p>
@ -34,8 +31,8 @@ assignments</p>
int l_1 = array.length
String l_2 = object.getName()
</pre>
we could name them "length" and "name". If we
have assignments:
<p>we could name them "length" and "name". If we
have assignments:</p>
<pre>
MenuItem local_1 = new MenuItem("Open");
MenuItem local_2 = new MenuItem("Save");
@ -69,4 +66,4 @@ copy them back into the java code. </p>
<p>This doesn't need to be built into the decompiler. A script that takes
the javadoc pages and the decompiled code can easily merge them.</p>
<?php require("footer.inc"); ?>
</section>

@ -1,11 +1,10 @@
<?php require("header.inc"); ?>
<h1>Download</h1>
<section title="Download">
<p>Jode is available in the <?
sflink("project/showfiles.php")?>download area</a> in source or
binary form. For compiling the source code, you need several other
packages, check the <?php selflink("links") ?>links page</a>. You
need a unix like environment for compilation.</p>
<p>Jode is available in the <sflink
href="project/showfiles.php">download area</a> in source or binary
form. For compiling the source code, you need several other packages,
check the <a href="links.html">links page</a>. You need a unix like
environment for compilation.</p>
<p>The simplest way to get it, especially for non unix users, is in
precompiled form, though. There are two jar archives in the download
@ -17,10 +16,10 @@ packages are already included in the archive. </li>
<li>jode-1.1.jar is for JDK&nbsp;1.2 or better. It should run
without any other package.</li> </ul>
</section>
<h1>CVS Repository</h1>
<p>You can get the latest sources from the <?php sflink("cvs/") ?> CVS
<section title="CVS Repository">
<p>You can get the latest sources from the <sflink href="cvs/"> CVS
repository</a>. Follow the instruction on that page; use
<code>jode</code> as <i>modulename</i>. If you want to checkout a
specific version you can use the <code>-r</code> option:</p>
@ -36,5 +35,4 @@ the <code>configure.in</code> file resides and run
<pre>aclocal && automake -a && autoconf</pre>
<p>Afterwards follow the instruction in the INSTALL file. </p>
<?php require("footer.inc"); ?>
</section>

@ -1,10 +1,26 @@
<?php require("header.inc"); ?>
<section title="FAQ - Frequently Asked Questions">
This is a list of some questions that pop up from time to time.
</section>
<h1>FAQ - Frequently Asked Questions</h1>
<section title="Decompiler issues">
This is a list of some questions that pop up from time to time.
<h3>Does Jode support Java 5?</h3>
<p>It does not support generics/vararg method or the new for loop at
the moment. It produces readable code and I think it may even compile
again. But it is not compatible as the generics and varargs
information is not included.</p>
<h3>Jode crashes with ExceptionHandler order failed</h3>
<h2>Decompiler issues</h2>
<p>Try jode-1.1.2pre1 or the latest CVS version. If it still does not
work rewrite <code>jode.flow.TransformExceptionHandlers</code> and
send me the fix :) </p>
<p>Since Java 1.4 the format for finally and synchronized blocks
changed again. It was always a very difficult task to reconstruct
<code>finally</code> blocks correctly and the code is huge and very
hard to maintain. With Java 5 it gets even worse.</p>
<h3>The decompiler crashes with a VerifyException, what can I do?</h3>
@ -13,7 +29,8 @@ information about used classes. See the question about the
classpath.</p>
<p>This could also be caused by malicious bytecode, or because there
is a bug in Jode's verifier.</p>
is a bug in Jode's verifier, or because Sun decided to change the
definition of correct bytecode, again.</p>
<h3>What should be included in the classpath?</h3>
@ -37,7 +54,9 @@ it.</p>
<p>You should decompile the outermost class (<code>MyClass</code> in
this case). The produced code contains the inner class. </p>
<h2>Obfuscator issues</h2>
</section>
<section title="Obfuscator issues">
<h3>What should be included in the classpath?</h3>
@ -68,5 +87,4 @@ and methods of a class with their type signatures.</p>
<p> If you are interested in the format of type signatures read the
Java Virtual Machine Specification, Chapter 4.3 Descriptors</p>
<?php require("footer.inc"); ?>
</section>

@ -0,0 +1,188 @@
/* XPM */
static char * favicon_xpm[] = {
"32 32 153 2",
" c None",
". c #000000",
"+ c #686868",
"@ c #A3A3A3",
"# c #BFBFBF",
"$ c #878787",
"% c #3D3D3D",
"& c #060606",
"* c #171717",
"= c #131313",
"- c #0A0A0A",
"; c #030303",
"> c #090909",
", c #373737",
"' c #414141",
") c #2F2F2F",
"! c #010101",
"~ c #020202",
"{ c #FFFFFF",
"] c #FBFBFB",
"^ c #979797",
"/ c #B1B1B1",
"( c #C6C6C6",
"_ c #ECECEC",
": c #FEFEFE",
"< c #A8A8A8",
"[ c #1E1E1E",
"} c #696969",
"| c #C2C2C2",
"1 c #E4E4E4",
"2 c #EEEEEE",
"3 c #F8F8F8",
"4 c #8F8F8F",
"5 c #ADADAD",
"6 c #EDEDED",
"7 c #CCCCCC",
"8 c #8D8D8D",
"9 c #FDFDFD",
"0 c #E3E3E3",
"a c #EBEBEB",
"b c #F4F4F4",
"c c #F1F1F1",
"d c #E5E5E5",
"e c #F7F7F7",
"f c #E7E7E7",
"g c #D6D6D6",
"h c #6E6E6E",
"i c #F2F2F2",
"j c #656565",
"k c #070707",
"l c #BABABA",
"m c #636363",
"n c #0E0E0E",
"o c #606060",
"p c #262626",
"q c #3A3A3A",
"r c #DADADA",
"s c #8A8A8A",
"t c #2A2A2A",
"u c #A5A5A5",
"v c #FCFCFC",
"w c #434343",
"x c #4A4A4A",
"y c #ACACAC",
"z c #666666",
"A c #161616",
"B c #F6F6F6",
"C c #2E2E2E",
"D c #797979",
"E c #151515",
"F c #616161",
"G c #121212",
"H c #7C7C7C",
"I c #AEAEAE",
"J c #242424",
"K c #DEDEDE",
"L c #A1A1A1",
"M c #FAFAFA",
"N c #C5C5C5",
"O c #F3F3F3",
"P c #101010",
"Q c #BBBBBB",
"R c #0F0F0F",
"S c #F9F9F9",
"T c #494949",
"U c #E8E8E8",
"V c #181818",
"W c #444444",
"X c #A4A4A4",
"Y c #272727",
"Z c #C0C0C0",
"` c #C3C3C3",
" . c #404040",
".. c #080808",
"+. c #868686",
"@. c #050505",
"#. c #0B0B0B",
"$. c #2C2C2C",
"%. c #B3B3B3",
"&. c #4E4E4E",
"*. c #D3D3D3",
"=. c #0D0D0D",
"-. c #8E8E8E",
";. c #747474",
">. c #232323",
",. c #515151",
"'. c #464646",
"). c #5A5A5A",
"!. c #8B8B8B",
"~. c #757575",
"{. c #CECECE",
"]. c #353535",
"^. c #A9A9A9",
"/. c #5B5B5B",
"(. c #E9E9E9",
"_. c #DFDFDF",
":. c #E0E0E0",
"<. c #C7C7C7",
"[. c #D1D1D1",
"}. c #BCBCBC",
"|. c #B9B9B9",
"1. c #252525",
"2. c #B0B0B0",
"3. c #F0F0F0",
"4. c #C1C1C1",
"5. c #E6E6E6",
"6. c #969696",
"7. c #6F6F6F",
"8. c #9D9D9D",
"9. c #3C3C3C",
"0. c #E1E1E1",
"a. c #B2B2B2",
"b. c #B6B6B6",
"c. c #777777",
"d. c #7E7E7E",
"e. c #767676",
"f. c #949494",
"g. c #9F9F9F",
"h. c #D2D2D2",
"i. c #D5D5D5",
"j. c #DDDDDD",
"k. c #EAEAEA",
"l. c #858585",
"m. c #CBCBCB",
"n. c #7D7D7D",
"o. c #474747",
"p. c #202020",
"q. c #5E5E5E",
"r. c #B5B5B5",
"s. c #919191",
"t. c #929292",
"u. c #4F4F4F",
"v. c #141414",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
". . . . . ",
"+ @ # $ % . . . & * = - . . . . ; > , ' ) . . . ! ; ; ; ~ . . ",
"{ { { { ] ^ / ( _ { { : < [ } | 1 2 3 { { { ( 4 5 1 2 2 2 6 7 8 ",
"{ { 9 1 0 0 _ { { { a # ( b { { { c 0 0 d e { { { { a 0 0 0 0 f ",
"{ { g . . . h { i j k . . * l { { m . . ! n o i { : p . . . . q ",
"{ { r s t . u v w . x y z . A B { C . D D E . F { 6 ~ G H H H I ",
"{ { { : J . K L . , ] { M E . N O & P M { Q . R S Q . T M M ] { ",
"{ { { U ~ V 9 W . X { { { Y . Z ` . .{ { U ! ..b +.. @.#.#.$.{ ",
"{ { { %.. &.{ E . *.{ { e =.~ 1 -.. ;.{ { N . >.: ,.. '.).).!.{ ",
"{ { { ~.. $ { P . {.{ { < . ].{ ).. ^.{ { /.. H 9 [ . (.{ { { { ",
"_.:.<.E ! [.{ ' . o 6 }.* ; |.{ 1.. 2.` j ! 1.3.d ! = Z 4.4.5.{ ",
"6.! . . 7.{ { <.n . ; . > 8.{ 2 ! . . . . 9.0.{ a.. . . . . b.{ ",
"7 c.d.l { { { { 1 -.e.f.1 { { a g.g.g.< h.{ { { *.g.g.g.g.g.c { ",
"{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ",
"i.j.M { { { { { { { { { { { { { { { { { { { { { { { { { { { k.l.",
". . R F H l.{.9 { { { { { { { { { { { { { { { ] U m.8 n.+ o.... ",
" . . . . E p.q.~.~.r.(.i.s.).t.[.@ d.u. .v.! . . . . ",
" . . . . ! . . . . . . . . ",
" ",
" ",
" ",
" ",
" ",
" ",
" "};

@ -1,6 +1,4 @@
<?php require("header.inc"); ?>
<h1>Feedback</h1>
<section title="Feedback">
<p>You can report bugs to the <?php sflink("bugs/")?>bug forum</a>. </p>
@ -10,5 +8,4 @@ users.sourceforge.net</a>. Please mention <i>jode</i> in the
subject.</p>
<p>There is a mailing list. Check <a href="http://lists.sourceforge.net/mailman/listinfo/jode-users">this page</a> for subscription informations.</p>
<?php require("footer.inc"); ?>
</section>

@ -1,6 +1,4 @@
<?php require("header.inc"); ?>
<h1>History</h1>
<section title="History">
<p>Someday I found <code>guavad</code>, a disassembler for java byte
code (it does similar things like <code>javap&nbsp;-c</code>). I used
it on a class file, and found that it was possible to reconstruct the
@ -19,5 +17,4 @@ now, because it suited best.</p>
<p>Just for the records: the java code is now more than 50 times
bigger than the original perl script and is still growing.</p>
<?php require("footer.inc"); ?>
</section>

@ -0,0 +1,52 @@
<opt quiet>
<file template="jode.htt">
<set version="1.1">
<set sfgroup="3790">
<def name="sflink" option="href">
<a href="http://sourceforge.net/${href}?group_id=${sfgroup}">
</def>
<def name="entry" option="name type href">
<if type="sflink">
<sflink href="$href"><use name></a>
<else>
<if _htpfile_out="${href}.html">
<use name>
<elseif $href="index">
<a href="."><use name></a>
<else>
<a href="${href}.html"><use name></a>
</if>
</if>
</def>
<block name=menu>
<entry name="<B>Home</B>" href="index">
<entry type=sflink name="Project page" href="project/">
<entry name="Applet" href="applet">
<entry name="Download" href="download">
<entry name="FAQ" href="faq">
<entry name="Feedback" href="feedback">
<entry name="Documentation" href="usage">
<entry name="License" href="license">
<entry name="History" href="history">
<entry name="Links" href="links">
<entry name="Blue Sky" href="bluesky">
</block>
<blockdef name=section option="title">
<if not sect_ctr><set sect_ctr="0" global></if>
<inc sect_ctr global>
<set title${sect_ctr}="$title" global>
<block name=section${sect_ctr} global expand>
<use block noexpand>
</block>
</blockdef>
<block name=everything>
<set i=1>
<while section$i>
<h1><use title$i></h1>
<use section$i>
<inc i>
</while>
</block>

@ -1,20 +1,16 @@
<?php require("header.inc"); ?>
<section title="Introduction">
<P><i>JODE</i> is a java package containing a decompiler and an
optimizer for java. This package is <?php selflink("license")
?>freely available</a> under the GNU GPL.
<b>New:</b> The bytecode package and the core decompiler is now under
GNU Lesser General Public License, so you can integrate it in your
project.</p>
optimizer for java. This package is <a href="license.html">freely
available</a> under the GNU GPL.<p>
<P>The decompiler reads in <tt>class</tt> files and produces something
similar to the original <tt>java</tt> file. Of course this can't be
perfect: There is no way to produce the comments or the names of local
variables (except when compiled with debuging) and there are often
more ways to write the same thing. However, <i>JODE</i> does its job quite
well, so you should give it a try and <? selflink("applet") ?>start the
applet</a>. Jode has support for all constructs of JDK-1.3 including
inner and anonymous classes.</P>
well, so you should give it a try and <a href="applet.html">start the
applet</a>.</P>
<P>The optimizer transforms <tt>class</tt> files in various ways with
can be controlled by a script file. It supports the following
@ -29,14 +25,25 @@ fields</li>
<li>Optimizing local variable allocation</li>
</ul>
<h2>News</h2>
</section>
<section title="News">
<ul>
<li><i>JODE</i> 1.1.1 is out. With support for javac v8 (jdk 1.3). </li>
<li>The license changed to LGPL for the bytecode interface and decompiler.</li>
<li><i>JODE</i> 1.1 is out. With support for javac v8 (jdk 1.3). </li>
<li><i>JODE</i> is now hosted by <a href="http://sourceforge.net/">SourceForge</a>.</li>
<li>Now long lines are automatically broken.</li>
<li><b>Inner and anonymous</b> classes are automatically decompiled.</li>
<li>The optimizer (aka obfuscator) can be customized via a small
config file</li>
</ul>
</section>
<section title="Known Bugs">
<h2>Known bugs of the decompiler</h2>
<p>The current version has problems try/catch/finally code produced
by java 1.4 compiler. You may try the latest CVS version or pre-release
instead.</p>
<p>Some jdk1.3 synthetic access functions aren't understood. The
produced source contains access$xxx functions, but it still compiles.</p>
@ -45,7 +52,9 @@ fields</li>
If you have such a problems don't hesitate to issue a bug report.
Please include the <code>class</code> file if possible.</p>
<h2>Limitations</h2>
</section>
<section title="Limits">
<p>If not all dependent classes can be found, the verifier (which is
run before decompilation starts) may exit with a type error. You
@ -64,4 +73,4 @@ the code should still be compileable. This does especially happen
when you compile with <tt>`-O'</tt> flag and javac has inlined some
methods. </p>
<?php require("footer.inc"); ?>
</section>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

@ -0,0 +1,67 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Java Optimize and Decompile Environment (JODE)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="date" content="2001-05-29">
<meta name="description" content="JODE - Java Optimize and Decompile Environment.">
<meta name="author" content="Jochen Hoenicke">
<meta name="keywords" content="jode, java, decompiler, obfuscator, deobfuscator, reverse engineering, free, GPL">
<style type="text/css">
<!--
body { color:#000000; background-color: #FFFFFF; }
.nav { font-family: Helvetica, Arial, sans-serif; font-weight: bold;
color:#000000; background-color: #EEEEF8; }
.footer { color:#FFFFFF; background-color: #737B9C; }
.boldlink { font-weight:bold; text-decoration: none; color:#FFFFFF; }
//-->
</style>
</head>
<body text="#000000" bgcolor="#FFFFFF">
<table cellpadding=4 cellspacing=1 width="100%"
><tr
><td align="left"
><img src="jode-logo.png" alt="JODE"
></td
><td align="right"
>Powered by <a href="http://sourceforge.net"><img
src="http://sourceforge.net/sflogo.php?group_id=3790&amp;type=1"
border=0 width=88 height=31 alt="SourceForge"></a><br
>Pages produced with <a href="http://htp.sourceforge.net"><img
src="poweredbyhtp.png" border=0 alt="Powered by htp"></a><br
>Best viewed with <a
href="http://www.anybrowser.org/campaign/"><img
src="w3c_ab.png" border=0 alt="Any Browser"></a><br
></td
></tr
></table>
<table cellspacing=0 cellpadding=3 border=0 bgcolor="#EEEEF8" class="nav">
<tr><td class="nav">
<use menu>
</td></tr>
</table><br>
<use everything>
<if _htpfile_out="index.html">
<set pageref="">
<else>
<set pageref="$_htpfile_out">
</if>
<TABLE class=footer width="100%" border="0" cellspacing="0" cellpadding="2">
<TR>
<TD align="center"><SPAN class=footer>
All trademarks and copyrights on this page are properties of their respective owners. <br>
Last updated on <file date>,
Copyright &copy; 1998-2004 by Jochen Hoenicke.
Canonic URL is <a class=boldlink href="http://jode.sourceforge.net/$pageref">http://jode.sourceforge.net/<use pageref></a></SPAN>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

@ -1,6 +1,5 @@
<?php require("header.inc"); ?>
<h1>License</h1>
<p><i>JODE</i> is Copyright &copy; 1998-2000 by Jochen Hoenicke. <br><br>
<section title="License">
<p><i>JODE</i> is Copyright &copy; 1998-2004 by Jochen Hoenicke. <br><br>
<p>This program is free software; you can redistribute it and/or modify
it under the terms of the <a
@ -19,4 +18,4 @@ but <b>without any warranty</b>; without even the implied warranty of
<b>merchantability</b> or <b>fitness for a particular purpose</b>. See the
GNU General Public License for more details.</p>
<?php require("footer.inc"); ?>
</section>

@ -1,5 +1,4 @@
<?php require("header.inc") ?>
<h1><i>JODE</i> Links</h1>
<section title="<i>JODE</i> Links">
<h3>Other decompilers</h3>
<ul>
<li><a href="http://dmoz.org/Computers/Programming/Languages/Java/Development_Tools/Translators/Decompilers_and_Disassemblers/">The Open Directory list</a></li>
@ -37,7 +36,7 @@ href="http://jedit.standmed.com/plugins/JavaInsight">JavaInsight plugin</a> for
</li>
<li>A great place for developing free software is
<a href="http://sourceforge.net"><img
src="http://sourceforge.net/sflogo.php?group_id=3790&amp;type=1"
src="http://sourceforge.net/sflogo.php?group_id=3790&type=1"
border=0 width=88 height=31 alt="SourceForge"></a>
</li>
</ul>
@ -68,8 +67,9 @@ href="http://jedit.standmed.com/plugins/JavaInsight">JavaInsight plugin</a> for
from the <a href="http://www.classpath.org">GNU Classpath Project</a>
into its own package (<code>gnu.java.util.collections</code>). This
script is now part of GNU classpath. For your convenience I have put a
precompiled <a href="collections.jar">jar file</a> on this server.
precompiled <a
href="http://www.informatik.uni-oldenburg.de/~delwi/jode/collections.jar">jar
file</a> on this server.
</dd>
</dl>
<?php require("footer.inc"); ?>
</section>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -1,37 +1,40 @@
<?php require("header.inc") ?>
<?php /* MOVE TO menu.inc
<if we_want_a_menu>
<p>On this page:<br>
<a href="#decompiler">Decompiler</a><br>
&nbsp;&nbsp;&nbsp;<a href="#cmdline">Command&nbsp;Line</a><br>
&nbsp;&nbsp;&nbsp;<a href="#awt">AWT&nbsp;Interface</a><br>
&nbsp;&nbsp;&nbsp;<a href="#swing">Swing&nbsp;Interface</a><br>
&nbsp;&nbsp;&nbsp;<a href="#java">Java&nbsp;Interface</a><br>
<a href="#optimizer">Obfuscator</a><br>
*/ ?>
<h1><a name="decompiler">Using the Decompiler</a></h1>
<p>After you have <?php selflink("download") ?>downloaded</a> the jar archive
</p>
</if>
<section title="Using the Decompiler">
<p>After you have <a href="download.html">downloaded</a> the jar archive
put it into your <tt>CLASSPATH</tt>. The package
<tt>swingall.jar</tt> is also needed if you are using JDK 1.1.</p>
<ul><li>Under Windows you have to start a MSDOS session and type
something like:
<pre>
set CLASSPATH=C:\download\jode-<?php echo "$version"?>.jar;C:\swing\swingall.jar
set CLASSPATH=C:\download\jode-<use version>.jar;C:\swing\swingall.jar
</pre>
<li>Under Unix you start a shell and type (for bourne shell):
<pre>export CLASSPATH=/tmp/jode-<?php echo "$version"?>.jar:/usr/local/swing/swingall.jar</pre>
<pre>export CLASSPATH=/tmp/jode-<use version>.jar:/usr/local/swing/swingall.jar</pre>
or for csh:
<pre>setenv CLASSPATH /tmp/jode-<?php echo "$version"?>.jar:/usr/local/swing/swingall.jar</pre>
<pre>setenv CLASSPATH /tmp/jode-<use version>.jar:/usr/local/swing/swingall.jar</pre>
</ul>
<br>
There is also a batch file for windows and a script file for unix,
that you can use. You can extract it with the following command:
<pre>
jar -xvf jode-<?php echo "$version-jdk1.1"?>.jar bin/jode.bat <i>resp.</i> bin/jode
jar -xvf jode-<use version>".jar bin/jode.bat <i>resp.</i> bin/jode
</pre>
Edit the file to adapt it to your paths and put it to a convenient location.
</section>
<h3><a name="cmdline">Command Line Interface</a></h3>
<section title="Command Line Interface">
The most powerful way to start <I>JODE</I>'s decompiler is the command
line interface. Some people don't like long command lines; they
@ -51,10 +54,10 @@ If you have installed the batch file/script, you can use it like this:
<h3><a name="awt">AWT Interface</a></h3>
The AWT Interface looks exactly like the <?php selflink("applet") ?>
The AWT Interface looks exactly like the <a href="applet.html">
applet</a>. In fact the applet uses the AWT Interface. You start it
after setting the <tt>CLASSPATH</tt> (see <?php
selflink("usage#decompiler") ?>above</a>), with
after setting the <tt>CLASSPATH</tt> (see <a
href="#decompiler">above</a>), with
<pre>java jode.decompiler.Window</pre>
@ -67,8 +70,12 @@ appear. You can save it via the <code>save</code> button.
<h3><a name="swing">Swing Interface</a></h3>
For the swing interface you need java version 1.2 or the separately
available swing package (see <?php selflink("links#swing") ?>link
page</a>. You can invoke it with the following command:
available swing package (see <a href="links.html#swing">link
page</a>. You can invoke it with the following command (JDK1.2 only):
<pre>
java -jar jode-<use version>.jar classes.jar
</pre>
or if you have set the classpath (see above)
<pre>
java jode.swingui.Main classes.jar
<i>resp.</i> jode swi classes.jar
@ -95,14 +102,14 @@ class. Note that the LGPL allows dynamic linking as long as you don't change
Jode itself. Please tell me if you use <i>JODE</i> in this way.</p>
<p>You should ship <code>jode-1.1-embedded.jar</code> with your program. This jar file is
available in the <? sflink("project/showfiles.php") ?>download area</a>.
available in the <sflink href="project/showfiles.php">download area</a>.
It works only under JDK&nbsp;1.2 and above.</p>
</section>
<h1><a name="optimizer">Using the Obfuscator</a></h1>
<section title="Using the Obfuscator">
<p>To use the obfuscator you should first create a script file, say <a
href="myproject.jos"><tt>myproject.jos</tt></a>. Then you can invoke the
obfuscator with:
obfuscator with:</p>
<pre>
java jode.obfuscator.Main myproject.jos
</pre>
@ -204,7 +211,7 @@ renamer = new StrongRenamer
<p>You can also create a renaming table with the same format as the
table written by revtable. The entries in the table get precedence
over renamer. Entries not in the table will get renamed by the
renamer.<p>
renamer.</p>
<pre>
table = "translat.tbl"
</pre>
@ -215,7 +222,6 @@ needs to get the same name (overloading), and which method names
mustn't change (overload of library methods, e.g. <tt>nextElement</tt>
for <tt>Enumeration</tt>s). There are currently two analyzers.
</p>
<dl><dt>SimpleAnalyzer</dt>
<dd>Straight forward analyzer. It is fast and will remove dead code
on method basis.</dd>
@ -241,4 +247,4 @@ change the bytecode interface.</p>
<pre>
post = new LocalOptimizer, new RemovePopAnalyzer
</pre>
<?php require("footer.inc") ?>
</section>

Binary file not shown.
Loading…
Cancel
Save