From a700b403d790c23989da524c934f0185b87c7b32 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 23 Aug 2014 16:20:15 -0400 Subject: added export command with progress bar --- src/cuchaz/enigma/gui/GuiController.java | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/cuchaz/enigma/gui/GuiController.java') diff --git a/src/cuchaz/enigma/gui/GuiController.java b/src/cuchaz/enigma/gui/GuiController.java index a35db05..cf4f002 100644 --- a/src/cuchaz/enigma/gui/GuiController.java +++ b/src/cuchaz/enigma/gui/GuiController.java @@ -20,6 +20,7 @@ import java.util.List; import com.google.common.collect.Lists; import com.google.common.collect.Queues; +import com.strobel.decompiler.languages.java.ast.CompilationUnit; import cuchaz.enigma.Deobfuscator; import cuchaz.enigma.analysis.BehaviorReferenceTreeNode; @@ -106,6 +107,27 @@ public class GuiController refreshCurrentClass(); } + public void export( final File dirOut ) + { + new Thread( ) + { + @Override + public void run( ) + { + try + { + ProgressDialog progress = new ProgressDialog( m_gui.getFrame() ); + m_deobfuscator.writeSources( dirOut, progress ); + progress.close(); + } + catch( IOException ex ) + { + throw new Error( ex ); + } + } + }.start(); + } + public Token getToken( int pos ) { if( m_index == null ) @@ -295,7 +317,9 @@ public class GuiController public void run( ) { // decompile,deobfuscate the bytecode - m_index = m_deobfuscator.getSource( classEntry.getClassName() ); + CompilationUnit sourceTree = m_deobfuscator.getSourceTree( classEntry.getClassName() ); + String source = m_deobfuscator.getSource( sourceTree ); + m_index = m_deobfuscator.getSourceIndex( sourceTree, source ); m_gui.setSource( m_index.getSource() ); if( obfReference != null ) { -- cgit v1.2.3