bug fixes
This commit is contained in:
parent
8d07bd5e96
commit
04874b3cf4
3 changed files with 24 additions and 4 deletions
|
@ -140,6 +140,7 @@ public class BytecodeViewer
|
|||
public static File krakatauTempDir;
|
||||
public static File krakatauTempJar;
|
||||
public static int krakatauHash;
|
||||
public static boolean currentlyDumping = false;
|
||||
public static boolean needsReDump = true;
|
||||
public static ArrayList<FileContainer> files = new ArrayList<FileContainer>(); //all of BCV's loaded files/classes/etc
|
||||
private static int maxRecentFiles = 25;
|
||||
|
@ -1376,7 +1377,7 @@ public class BytecodeViewer
|
|||
|
||||
public static void dumpTempFile()
|
||||
{
|
||||
/*int tempHash = classNodeLoaderHash(loader);
|
||||
/*int tempHash = fileContainersHash(files);
|
||||
|
||||
if(tempHash != krakatauHash && krakatauTempJar != null)
|
||||
{
|
||||
|
@ -1412,12 +1413,14 @@ public class BytecodeViewer
|
|||
if(krakatauTempJar != null || !passes)
|
||||
return;
|
||||
|
||||
currentlyDumping = true;
|
||||
needsReDump = false;
|
||||
//krakatauHash = tempHash;
|
||||
krakatauTempDir = new File(BytecodeViewer.tempDirectory + BytecodeViewer.fs + MiscUtils.randomString(32) + BytecodeViewer.fs);
|
||||
krakatauTempDir.mkdir();
|
||||
krakatauTempJar = new File(BytecodeViewer.tempDirectory + BytecodeViewer.fs + "temp" + MiscUtils.randomString(32) + ".jar");
|
||||
JarUtils.saveAsJarClassesOnly(BytecodeViewer.getLoadedClasses(), krakatauTempJar.getAbsolutePath());
|
||||
currentlyDumping = false;
|
||||
}
|
||||
|
||||
public static void rtCheck()
|
||||
|
@ -1428,12 +1431,16 @@ public class BytecodeViewer
|
|||
}
|
||||
}
|
||||
|
||||
public static int classNodeLoaderHash(ClassNodeLoader loader)
|
||||
public static int fileContainersHash(ArrayList<FileContainer> fileContainers)
|
||||
{
|
||||
StringBuilder block = new StringBuilder();
|
||||
for(ClassNode node : loader.getAll())
|
||||
for(FileContainer container : fileContainers)
|
||||
{
|
||||
block.append(node.name);
|
||||
block.append(container.name);
|
||||
for(ClassNode node : container.classes)
|
||||
{
|
||||
block.append(node.name);
|
||||
}
|
||||
}
|
||||
|
||||
return block.hashCode();
|
||||
|
|
|
@ -1699,6 +1699,18 @@ public class ClassViewer extends Viewer {
|
|||
@Override
|
||||
public void run()
|
||||
{
|
||||
while(BytecodeViewer.currentlyDumping)
|
||||
{
|
||||
//wait until it's not dumping
|
||||
try
|
||||
{
|
||||
Thread.sleep(100);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
BytecodeViewer.dumpTempFile();
|
||||
|
||||
if (pane1 > 0)
|
||||
|
|
|
@ -1620,6 +1620,7 @@ public class MainViewerGUI extends JFrame implements FileChangeNotifier {
|
|||
|
||||
mnSettings.add(separator_38);
|
||||
decodeAPKResources.setSelected(false);
|
||||
decodeAPKResources.setEnabled(false);
|
||||
|
||||
mnSettings.add(decodeAPKResources);
|
||||
|
||||
|
|
Loading…
Reference in a new issue