You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
This is a list of features, that would be nice to have:
|
|
|
|
Decompiler:
|
|
- outline inlined methods.
|
|
- remove string decrypt method.
|
|
- remove synthetic methods if and only if all calls to them are resolved.
|
|
|
|
Obfuscator:
|
|
- flow obfuscation/optimization.
|
|
- warn about Class.forName and list occurences.
|
|
- detect Class.forName on constant strings and handle appropriately.
|
|
- work around Class.forName, by creating a new version using a hash
|
|
table that maps md5 sums of old names to obfuscated names.
|
|
|
|
DeObfuscator:
|
|
- generate nice names:
|
|
- classes: derive name from super.
|
|
- fields: derive name from type.
|
|
- give synthetic methods the right attribute and name (e.g. class$)
|
|
- detect inner classes and give suitable names.
|
|
|
|
User Interface:
|
|
- make a nice user interface:
|
|
- list fields/method of selected class.
|
|
- show only decompilation of selected method.
|
|
- show usage of method/fields.
|
|
- syntax highlighting, hyper links etc.
|
|
(look at java.swing.JEditorPane or at Java Insight)
|
|
- visual obfuscation/deobfuscation (like klassmaster?, better?)
|
|
|
|
Internal:
|
|
- clean up package hierarchy, esp. expr, flow and decompiler.
|
|
- move to net.sf.jode package.
|
|
- make the class names more precise, e.g. StructuredBlock is Statement,
|
|
FlowBlock is BasicBlock.
|
|
|