| java.lang.Object | ||
| ↳ | com.pnfsoftware.jeb.core.units.code.DecompilerExporter | |
| ↳ | com.pnfsoftware.jeb.core.units.code.android.DexDecompilerExporter | |
Helper class used to decompile and export to *.java files all or a subset of classes or
methods of a Dex unit.
Example: export all top-level classes to an output folder:
IDexDecompilerUnit dexdec = ...; // retrieve from the current IRuntimeProject
File outdir = ...;
DexDecompilerExporter exp = dexdec.getExporter();
exp.setOutputFolder(outdir, false);
exp.setMethodTimeout(60_000L); // safety
exp.setTotalTimeout(15 * 60_000L); // safety
exp.setCallback(new ProgressCallbackAdapter() {
@Override
public void message(String msg) {
System.out.println(msg);
}
});
boolean success = exp.processTopLevelClasses();
System.out.println("Errors: " + exp.getErrors());
|
[Expand]
Inherited Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.pnfsoftware.jeb.core.units.code.DecompilerExporter
| |||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| DexDecompilerExporter(IDexDecompilerUnit decompiler) | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| boolean |
process()
Decompile and export all meaningful elements.
| ||||||||||
| void |
setSignaturePattern(Pattern pattern)
The strings that will be provided to the matcher are jvm (canonical) class or method
signatures, e.g.
| ||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| void |
customizeOptions(boolean decompilingClasses, DecompilationOptions.Builder optbld)
Optional method used to customize the options of the decompilation context.
| ||||||||||
| String | generateClassFileName(String csig) | ||||||||||
| String | generateMethodFileName(String msig) | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
com.pnfsoftware.jeb.core.units.code.DecompilerExporter
| |||||||||||
From class
java.lang.Object
| |||||||||||
Decompile and export all meaningful elements. This is the recommended method to call. Top-level classes and their constituents will be exported; orphaned methods and other items will be exported as well.
If an output folder was specified, the resulting source files will be stored in a folder hierarchy that matches their namespace or package name.
The strings that will be provided to the matcher are jvm (canonical) class or method
signatures, e.g. Lcom/abc/Foo; or Lcom/foo/Bar;->m1([I)Ljava/lang/String;.
| pattern | a regex pattern |
|---|
Optional method used to customize the options of the decompilation context. The custom implementation may modify or set new options. The default implementation does nothing.
| decompilingClasses | true if the exporter will decompile classes; false if it will decompile methods |
|---|---|
| optbld | the current option builder |