decompiler and applet changed the package git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1197 379699f6-c40d-0410-875b-85095c16579ebranch_1_1
parent
80e2a7916c
commit
23d5d05fe3
@ -1,95 +0,0 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> |
||||
<html> |
||||
<head> |
||||
<title>Java Optimize and Decompile Environment (JODE)</title> |
||||
<meta name="robots" content="noindex"> |
||||
<meta name="date" content="1999-10-24"> |
||||
</head> |
||||
|
||||
<body> |
||||
<table cellpadding=4 cellspacing=1 width=100%> |
||||
<tr> |
||||
<td></td> |
||||
<td> <img src="jode-logo.gif" alt="JODE" width=286 height=110></td> |
||||
</tr> |
||||
<tr> |
||||
<td valign="top"> |
||||
<B><a href="http://www.informatik.uni-oldenburg.de/~delwi">Homepage</a></B> |
||||
<br><br> |
||||
<a href="jode.html"> |
||||
<B>Jode</B></a> |
||||
<ul> |
||||
<li>Test It Online</li> |
||||
<li><a href="download.html">Download</a></li> |
||||
<li><a href="usage.html">Usage</a></li> |
||||
<li><a href="license.html">License</a></li> |
||||
<li><a href="history.html">History</a></li> |
||||
</ul> |
||||
</td> |
||||
<td> |
||||
<h1>The <i>JODE</i> Applet</h1> |
||||
|
||||
<applet code="jode/JodeApplet.class" archive="jode-applet.jar" width=540 height=400> |
||||
<param name=classpath |
||||
value="http://www.informatik.uni-oldenburg.de/~mw/plasma.jar"> |
||||
<param name=class value="PlasmaApplet"> |
||||
</applet><br><br>http://www.informatik.uni-oldenburg.de |
||||
|
||||
Press the start button to decompile <a |
||||
href="http://www.informatik.uni-oldenburg.de/~mw/">Michael</a>'s <a |
||||
href="http://www.informatik.uni-oldenburg.de/~mw/plasma">Plasma |
||||
applet</a>. You may change the classpath and class name to point to a |
||||
class file of your choice. But note that most browsers doesn't allow |
||||
loading files from a different server.<br><br> |
||||
|
||||
Save probably doesn't work, because it is forbidden by the browser.<br><br> |
||||
|
||||
You may give multiple entries in the class path field separated by a |
||||
comma. The components may be local or remote zip or jar files or |
||||
directories. Note that browsers forbid accesses to different hosts or |
||||
local files that are not in a subdirectory of the applet |
||||
directory.<br><br> |
||||
|
||||
|
||||
<h1>Removing security restrictions under Internet Explorer</h1> |
||||
|
||||
<p>This information was submitted by <a |
||||
href="mailto:PopescuM@health.missouri.edu">Mihail Popescu |
||||
<PopescuM@health.missouri.edu></a>. Please note that this will |
||||
<i>give all applets on our web server full access to your computer</i>, |
||||
so use it at your own risk.</p> |
||||
|
||||
<p>Go to the View/Internet Options... dialog<br> |
||||
Select the "Security" tab</p> |
||||
<ul> |
||||
<li>Set "Zone:" to "Trusted sites zone"</li> |
||||
<li>Click "Add Sites..." |
||||
<ul><li>Add http://www.informatik.uni-oldenburg.de</li> |
||||
<li>Uncheck "Requires server verificaton..."</li> |
||||
<li>Click "OK"</li> |
||||
</ul></li> |
||||
<li>Check "Custom (for expert users)"</li> |
||||
<li>Click "Settings..." |
||||
<ul><li>Under Java/Java permissions, check "Custom"</li> |
||||
<li>Click "Java Custom Settings" |
||||
<ul><li>Select "Edit Permissions" tab</li> |
||||
<li>Under "Unsigned Content"/"Run Unsigned Content", make sure |
||||
"Run in sandbox" is checked and then check all the "Enable" |
||||
buttons under "Additional Unsigned Permissions"</li> |
||||
<li>Click "OK"</li> |
||||
</ul></li> |
||||
<li>Click "OK"</li> |
||||
</ul></li> |
||||
<li>Click "OK"</li> |
||||
</ul> |
||||
</td> |
||||
</table> |
||||
|
||||
<hr> |
||||
|
||||
<p><A HREF="mailto:Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE"> |
||||
http://www.informatik.uni-oldenburg.de/~delwi/jode/applet.html</A>, last |
||||
updated on <em>24-Okt-1999</em>.</p> |
||||
|
||||
</body> |
||||
</html> |
@ -0,0 +1,110 @@ |
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> |
||||
<html> |
||||
<head> |
||||
<title>Java Optimize and Decompile Environment (JODE)</title> |
||||
<meta name="description" content="The home page of jode, my Java decompiler."> |
||||
<meta name="author" content="Jochen Hoenicke"> |
||||
<meta name="robots" content="noindex"> |
||||
<meta name="robots" content="nofollow"> |
||||
<meta name="date" content="1999-10-24"> |
||||
</head> |
||||
|
||||
<body> |
||||
<table cellpadding=4 cellspacing=1 width=100%> |
||||
<tr> |
||||
<td></td> |
||||
<td> <img src="jode-logo.png" alt="JODE" width=286 height=110></td> |
||||
</tr> |
||||
<tr> |
||||
<td valign="top"> |
||||
<B><a href="http://www.informatik.uni-oldenburg.de/~delwi">Homepage</a></B> |
||||
<br><br> |
||||
<a href="jode.html"><B>Jode</B></a> |
||||
<ul> |
||||
<li><a href="applet.html">Test It Online</a></li> |
||||
<li><a href="download.html">Download</a></li> |
||||
<li><a href="usage.html">Usage</a></li> |
||||
<li><a href="license.html">License</a></li> |
||||
<li><a href="history.html">History</a></li> |
||||
<li>Blue Sky</li> |
||||
</ul> |
||||
</td> |
||||
<td> |
||||
<h1>Blue Sky</h1> |
||||
|
||||
<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> |
||||
|
||||
<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> |
||||
|
||||
<h2><i>Out</i>line inlined methods</h2> |
||||
|
||||
<p>If java gets called with `<code>-O</code>' switch, it inlines methods, |
||||
that are private, final, or static and contain no loops. When |
||||
decompiling this it sometimes produces really ugly code. The right |
||||
way to solve this would be to <i>out</i>line the code again. This is |
||||
possible but requires to find the inlined method. </p> |
||||
|
||||
<p>The name `outline' was suggested by <a |
||||
href="http://www.informatik.uni-oldenburg.de/~mw">Michael</a>. |
||||
</p> |
||||
|
||||
<h2>Better names of local variables</h2> |
||||
|
||||
<p>The local variable naming is very stupid. Even with pretty it just |
||||
names the variable after the type with a unifying number appended. A |
||||
method containing very much objects of the same type looks very |
||||
ugly. </p> |
||||
|
||||
<p>My plans here are to look at the assignments. If we have locals in |
||||
assignments |
||||
<pre> |
||||
int l_1 = array.length |
||||
String l_2 = object.getName() |
||||
</pre> |
||||
we could name them "length" and "name". If we |
||||
have assignments: |
||||
<pre> |
||||
MenuItem local_1 = new MenuItem("Open"); |
||||
MenuItem local_2 = new MenuItem("Save"); |
||||
</pre> |
||||
good names would be <code>miOpen</code> and <code>miSave</code>. </p> |
||||
|
||||
<p>It is currently possible to assign a <i>hint name,type</i> pair to |
||||
a local. If the type matches, the local will be named after <i>hint |
||||
name</i>. This could be extended by giving them several weighted |
||||
hints and constructing the name in an intelligent way. </p> |
||||
|
||||
<h2>Better deobfuscation features</h2> |
||||
<p>First there should be a good Renamer: Methods that simply |
||||
return a fields value should be renamed to get<i>FieldName</i>. |
||||
Fields should be named after their type, maybe also by assignments |
||||
(see section about local variable names).</p> |
||||
|
||||
<p>The deobfuscator should detect inner and anonymous variables, |
||||
synthetic methods and so on, and rename them accordingly.</p> |
||||
|
||||
<h2>Handling of Class.forName in obfuscator</h2> |
||||
<p>The obfuscator should detect Class.forName constructs (and |
||||
similarly for methods and fields) and if their parameters are constant |
||||
it should change the parameter according to the rename function. </p> |
||||
|
||||
<h2>Merging javadoc comments</h2> |
||||
<p>It would be nice if the decompiler could merge the javadoc comments |
||||
into the class file. More and more people use javadoc to comment the |
||||
public api of their java classes. It shouldn't be too difficult to |
||||
take them and back into the java code. </p> |
||||
</td> |
||||
</table> |
||||
|
||||
<hr> |
||||
|
||||
<p><A HREF="mailto:Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE"> |
||||
http://www.informatik.uni-oldenburg.de/~delwi/jode/jode.html</A>, last |
||||
updated on <em>24-Okt-1999</em>.</p> |
||||
|
||||
</body> |
||||
</html> |
Loading…
Reference in new issue