Replaced Old Disk-Lib Library
This commit is contained in:
parent
17d97368f3
commit
1494eca99e
|
@ -20,8 +20,8 @@ package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
|
import com.konloch.disklib.DiskReader;
|
||||||
import com.konloch.taskmanager.TaskManager;
|
import com.konloch.taskmanager.TaskManager;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.api.BCV;
|
import the.bytecode.club.bytecodeviewer.api.BCV;
|
||||||
|
@ -588,7 +588,7 @@ public class BytecodeViewer
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PluginWriter writer = new PluginWriter(DiskReader.loadAsString(file.getAbsolutePath()), file.getName());
|
PluginWriter writer = new PluginWriter(DiskReader.readString(file.getAbsolutePath()), file.getName());
|
||||||
writer.setSourceFile(file);
|
writer.setSourceFile(file);
|
||||||
writer.setVisible(true);
|
writer.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,13 +19,15 @@
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
import com.google.gson.reflect.TypeToken;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.BytecodeViewer.gson;
|
import static the.bytecode.club.bytecodeviewer.BytecodeViewer.gson;
|
||||||
|
@ -52,14 +54,14 @@ public class Settings
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (new File(FILES_NAME).exists())
|
if (new File(FILES_NAME).exists())
|
||||||
recentFiles = gson.fromJson(DiskReader.loadAsString(FILES_NAME), new TypeToken<ArrayList<String>>() {}.getType());
|
recentFiles = gson.fromJson(DiskReader.readString(FILES_NAME), new TypeToken<ArrayList<String>>() {}.getType());
|
||||||
else
|
else
|
||||||
recentFiles = DiskReader.loadArrayList(getBCVDirectory() + FS + "recentfiles.bcv", false);
|
recentFiles = Arrays.asList(DiskReader.readArray(getBCVDirectory() + FS + "recentfiles.bcv"));
|
||||||
|
|
||||||
if (new File(PLUGINS_NAME).exists())
|
if (new File(PLUGINS_NAME).exists())
|
||||||
recentPlugins = gson.fromJson(DiskReader.loadAsString(PLUGINS_NAME), new TypeToken<ArrayList<String>>() {}.getType());
|
recentPlugins = gson.fromJson(DiskReader.readString(PLUGINS_NAME), new TypeToken<ArrayList<String>>() {}.getType());
|
||||||
else
|
else
|
||||||
recentPlugins = DiskReader.loadArrayList(getBCVDirectory() + FS + "recentplugins.bcv", false);
|
recentPlugins = Arrays.asList(DiskReader.readArray(getBCVDirectory() + FS + "recentplugins.bcv"));
|
||||||
|
|
||||||
MiscUtils.deduplicateAndTrim(recentFiles, maxRecentFiles);
|
MiscUtils.deduplicateAndTrim(recentFiles, maxRecentFiles);
|
||||||
MiscUtils.deduplicateAndTrim(recentPlugins, maxRecentFiles);
|
MiscUtils.deduplicateAndTrim(recentPlugins, maxRecentFiles);
|
||||||
|
@ -80,7 +82,7 @@ public class Settings
|
||||||
recentFiles.remove(f.getAbsolutePath()); // already added on the list
|
recentFiles.remove(f.getAbsolutePath()); // already added on the list
|
||||||
recentFiles.add(0, f.getAbsolutePath());
|
recentFiles.add(0, f.getAbsolutePath());
|
||||||
MiscUtils.deduplicateAndTrim(recentFiles, maxRecentFiles);
|
MiscUtils.deduplicateAndTrim(recentFiles, maxRecentFiles);
|
||||||
DiskWriter.replaceFile(FILES_NAME, MiscUtils.listToString(recentFiles), false);
|
saveRecentFiles();
|
||||||
resetRecentFilesMenu();
|
resetRecentFilesMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,11 +90,23 @@ public class Settings
|
||||||
{
|
{
|
||||||
if (recentFiles.remove(f.getAbsolutePath()))
|
if (recentFiles.remove(f.getAbsolutePath()))
|
||||||
{
|
{
|
||||||
DiskWriter.replaceFile(FILES_NAME, MiscUtils.listToString(recentFiles), false);
|
saveRecentFiles();
|
||||||
resetRecentFilesMenu();
|
resetRecentFilesMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void saveRecentFiles()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DiskWriter.write(FILES_NAME, MiscUtils.listToString(recentFiles));
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static String getRecentFile()
|
public static String getRecentFile()
|
||||||
{
|
{
|
||||||
if (recentFiles.isEmpty())
|
if (recentFiles.isEmpty())
|
||||||
|
@ -111,7 +125,7 @@ public class Settings
|
||||||
recentPlugins.remove(f.getAbsolutePath()); // already added on the list
|
recentPlugins.remove(f.getAbsolutePath()); // already added on the list
|
||||||
recentPlugins.add(0, f.getAbsolutePath());
|
recentPlugins.add(0, f.getAbsolutePath());
|
||||||
MiscUtils.deduplicateAndTrim(recentPlugins, maxRecentFiles);
|
MiscUtils.deduplicateAndTrim(recentPlugins, maxRecentFiles);
|
||||||
DiskWriter.replaceFile(PLUGINS_NAME, MiscUtils.listToString(recentPlugins), false);
|
saveRecentPlugins();
|
||||||
resetRecentFilesMenu();
|
resetRecentFilesMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,11 +133,23 @@ public class Settings
|
||||||
{
|
{
|
||||||
if (recentPlugins.remove(f.getAbsolutePath()))
|
if (recentPlugins.remove(f.getAbsolutePath()))
|
||||||
{
|
{
|
||||||
DiskWriter.replaceFile(PLUGINS_NAME, MiscUtils.listToString(recentPlugins), false);
|
saveRecentPlugins();
|
||||||
resetRecentFilesMenu();
|
resetRecentFilesMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void saveRecentPlugins()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DiskWriter.write(PLUGINS_NAME, MiscUtils.listToString(recentPlugins));
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* resets the recent files menu
|
* resets the recent files menu
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer;
|
package the.bytecode.club.bytecodeviewer;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
import the.bytecode.club.bytecodeviewer.decompilers.Decompiler;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
|
||||||
|
@ -27,6 +27,7 @@ import the.bytecode.club.bytecodeviewer.translation.Language;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
import static the.bytecode.club.bytecodeviewer.Constants.VERSION;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.SETTINGS_NAME;
|
import static the.bytecode.club.bytecodeviewer.Constants.SETTINGS_NAME;
|
||||||
|
@ -40,6 +41,7 @@ import static the.bytecode.club.bytecodeviewer.Constants.SETTINGS_NAME;
|
||||||
public class SettingsSerializer
|
public class SettingsSerializer
|
||||||
{
|
{
|
||||||
private static boolean settingsFileExists;
|
private static boolean settingsFileExists;
|
||||||
|
private static String[] settings;
|
||||||
|
|
||||||
public static void saveSettingsAsync()
|
public static void saveSettingsAsync()
|
||||||
{
|
{
|
||||||
|
@ -53,7 +55,7 @@ public class SettingsSerializer
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DiskWriter.replaceFile(SETTINGS_NAME, "BCV: " + VERSION, false);
|
DiskWriter.write(SETTINGS_NAME, "BCV: " + VERSION, true);
|
||||||
save(BytecodeViewer.viewer.rbr.isSelected());
|
save(BytecodeViewer.viewer.rbr.isSelected());
|
||||||
save(BytecodeViewer.viewer.rsy.isSelected());
|
save(BytecodeViewer.viewer.rsy.isSelected());
|
||||||
save(BytecodeViewer.viewer.din.isSelected());
|
save(BytecodeViewer.viewer.din.isSelected());
|
||||||
|
@ -169,9 +171,9 @@ public class SettingsSerializer
|
||||||
save(Configuration.deleteForeignLibraries);
|
save(Configuration.deleteForeignLibraries);
|
||||||
|
|
||||||
if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionDex.getModel()))
|
if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionDex.getModel()))
|
||||||
DiskWriter.writeNewLine(SETTINGS_NAME, "0");
|
DiskWriter.append(SETTINGS_NAME, "0", true);
|
||||||
else if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionEnjarify.getModel()))
|
else if (BytecodeViewer.viewer.apkConversionGroup.isSelected(BytecodeViewer.viewer.apkConversionEnjarify.getModel()))
|
||||||
DiskWriter.writeNewLine(SETTINGS_NAME, "1");
|
DiskWriter.append(SETTINGS_NAME, "1", true);
|
||||||
|
|
||||||
save(Configuration.python3);
|
save(Configuration.python3);
|
||||||
save(Configuration.javac);
|
save(Configuration.javac);
|
||||||
|
@ -224,7 +226,7 @@ public class SettingsSerializer
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//precache the file
|
//precache the file
|
||||||
DiskReader.loadString(SETTINGS_NAME, 0, true);
|
settings = DiskReader.readArray(SETTINGS_NAME);
|
||||||
|
|
||||||
//process the cached file
|
//process the cached file
|
||||||
Configuration.lafTheme = LAFTheme.valueOf(asString(127));
|
Configuration.lafTheme = LAFTheme.valueOf(asString(127));
|
||||||
|
@ -425,21 +427,28 @@ public class SettingsSerializer
|
||||||
|
|
||||||
public static void save(Object o)
|
public static void save(Object o)
|
||||||
{
|
{
|
||||||
DiskWriter.writeNewLine(SETTINGS_NAME, String.valueOf(o), false);
|
try
|
||||||
|
{
|
||||||
|
DiskWriter.append(SETTINGS_NAME, String.valueOf(o), true);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String asString(int lineNumber) throws Exception
|
public static String asString(int lineNumber)
|
||||||
{
|
{
|
||||||
return DiskReader.loadString(SETTINGS_NAME, lineNumber, false);
|
return settings[lineNumber];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean asBoolean(int lineNumber) throws Exception
|
public static boolean asBoolean(int lineNumber)
|
||||||
{
|
{
|
||||||
return Boolean.parseBoolean(DiskReader.loadString(SETTINGS_NAME, lineNumber, false));
|
return Boolean.parseBoolean(settings[lineNumber]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int asInt(int lineNumber) throws Exception
|
public static int asInt(int lineNumber)
|
||||||
{
|
{
|
||||||
return Integer.parseInt(DiskReader.loadString(SETTINGS_NAME, lineNumber, false));
|
return Integer.parseInt(settings[lineNumber]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.cli;
|
package the.bytecode.club.bytecodeviewer.cli;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.cli.CommandLine;
|
import org.apache.commons.cli.CommandLine;
|
||||||
import org.apache.commons.cli.CommandLineParser;
|
import org.apache.commons.cli.CommandLineParser;
|
||||||
import org.apache.commons.cli.DefaultParser;
|
import org.apache.commons.cli.DefaultParser;
|
||||||
|
@ -250,7 +250,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.PROCYON_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.PROCYON_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -276,7 +276,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.CFR_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.CFR_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -302,7 +302,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.FERNFLOWER_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.FERNFLOWER_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -328,7 +328,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.KRAKATAU_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.KRAKATAU_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -355,7 +355,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.KRAKATAU_DISASSEMBLER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.KRAKATAU_DISASSEMBLER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -382,7 +382,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.JD_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.JD_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -409,7 +409,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.SMALI_DISASSEMBLER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.SMALI_DISASSEMBLER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -436,7 +436,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.JADX_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.JADX_DECOMPILER.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -463,7 +463,7 @@ public class CommandLineInput
|
||||||
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
ClassNode cn = BytecodeViewer.blindlySearchForClassNode(target);
|
||||||
final ClassWriter cw = accept(cn);
|
final ClassWriter cw = accept(cn);
|
||||||
String contents = Decompiler.ASMIFIER_CODE_GEN.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
String contents = Decompiler.ASMIFIER_CODE_GEN.getDecompiler().decompileClassNode(cn, cw.toByteArray());
|
||||||
DiskWriter.replaceFile(output.getAbsolutePath(), contents, false);
|
DiskWriter.write(output.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.compilers.AbstractCompiler;
|
import the.bytecode.club.bytecodeviewer.compilers.AbstractCompiler;
|
||||||
|
@ -69,15 +69,15 @@ public class JavaCompiler extends AbstractCompiler
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//write the file we're assembling to disk
|
|
||||||
DiskWriter.replaceFile(javaFile.getAbsolutePath(), contents, false);
|
|
||||||
|
|
||||||
//write the entire temporary classpath to disk
|
|
||||||
JarUtils.saveAsJar(BytecodeViewer.getLoadedClasses(), classPath.getAbsolutePath());
|
|
||||||
|
|
||||||
boolean cont = true;
|
boolean cont = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//write the file we're assembling to disk
|
||||||
|
DiskWriter.write(javaFile.getAbsolutePath(), contents);
|
||||||
|
|
||||||
|
//write the entire temporary classpath to disk
|
||||||
|
JarUtils.saveAsJar(BytecodeViewer.getLoadedClasses(), classPath.getAbsolutePath());
|
||||||
|
|
||||||
StringBuilder log = new StringBuilder();
|
StringBuilder log = new StringBuilder();
|
||||||
ProcessBuilder pb;
|
ProcessBuilder pb;
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -55,21 +55,20 @@ public class KrakatauAssembler extends AbstractCompiler
|
||||||
final File tempDirectory2 = new File(Constants.TEMP_DIRECTORY + FS + MiscUtils.randomString(32) + FS);
|
final File tempDirectory2 = new File(Constants.TEMP_DIRECTORY + FS + MiscUtils.randomString(32) + FS);
|
||||||
final File javaFile = new File(tempDirectory1.getAbsolutePath() + FS + fullyQualifiedName + ".j");
|
final File javaFile = new File(tempDirectory1.getAbsolutePath() + FS + fullyQualifiedName + ".j");
|
||||||
final File tempJar = new File(Constants.TEMP_DIRECTORY + FS + "temp" + MiscUtils.randomString(32) + ".jar");
|
final File tempJar = new File(Constants.TEMP_DIRECTORY + FS + "temp" + MiscUtils.randomString(32) + ".jar");
|
||||||
|
final StringBuilder log = new StringBuilder();
|
||||||
|
|
||||||
//create the temp directories
|
//create the temp directories
|
||||||
tempDirectory1.mkdir();
|
tempDirectory1.mkdir();
|
||||||
tempDirectory2.mkdir();
|
tempDirectory2.mkdir();
|
||||||
|
|
||||||
//write the file we're assembling to disk
|
|
||||||
DiskWriter.replaceFile(javaFile.getAbsolutePath(), contents, true);
|
|
||||||
|
|
||||||
//write the entire temporary classpath to disk
|
|
||||||
JarUtils.saveAsJar(BytecodeViewer.getLoadedClasses(), tempJar.getAbsolutePath());
|
|
||||||
|
|
||||||
StringBuilder log = new StringBuilder();
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//write the file we're assembling to disk
|
||||||
|
DiskWriter.write(javaFile.getAbsolutePath(), contents);
|
||||||
|
|
||||||
|
//write the entire temporary classpath to disk
|
||||||
|
JarUtils.saveAsJar(BytecodeViewer.getLoadedClasses(), tempJar.getAbsolutePath());
|
||||||
|
|
||||||
String[] pythonCommands = new String[]{Configuration.python2};
|
String[] pythonCommands = new String[]{Configuration.python2};
|
||||||
if (Configuration.python2Extra)
|
if (Configuration.python2Extra)
|
||||||
pythonCommands = ArrayUtils.addAll(pythonCommands, "-2");
|
pythonCommands = ArrayUtils.addAll(pythonCommands, "-2");
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
package the.bytecode.club.bytecodeviewer.compilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.compilers.AbstractCompiler;
|
import the.bytecode.club.bytecodeviewer.compilers.AbstractCompiler;
|
||||||
|
@ -59,7 +59,7 @@ public class SmaliAssembler extends AbstractCompiler
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//write the file we're assembling to disk
|
//write the file we're assembling to disk
|
||||||
DiskWriter.replaceFile(tempSmali.getAbsolutePath(), contents, false);
|
DiskWriter.write(tempSmali.getAbsolutePath(), contents);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
||||||
|
@ -75,7 +75,7 @@ public class BlankDecompilerBase extends AbstractDecompiler
|
||||||
|
|
||||||
//if the output file is found, read it
|
//if the output file is found, read it
|
||||||
if (tempOutputJavaFile.exists())
|
if (tempOutputJavaFile.exists())
|
||||||
return DiskReader.loadAsString(tempOutputJavaFile.getAbsolutePath());
|
return DiskReader.readString(tempOutputJavaFile.getAbsolutePath());
|
||||||
else
|
else
|
||||||
exception = getDecompilerName() + " " + ERROR + "! " + tempOutputJavaFile.getAbsolutePath() + " does not exist.";
|
exception = getDecompilerName() + " " + ERROR + "! " + tempOutputJavaFile.getAbsolutePath() + " does not exist.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler;
|
import org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
@ -99,7 +99,7 @@ public class FernFlowerDecompiler extends AbstractDecompiler
|
||||||
|
|
||||||
//if the output file is found, read it
|
//if the output file is found, read it
|
||||||
if (tempOutputJavaFile.exists() && !Constants.DEV_FLAG_DECOMPILERS_SIMULATED_ERRORS)
|
if (tempOutputJavaFile.exists() && !Constants.DEV_FLAG_DECOMPILERS_SIMULATED_ERRORS)
|
||||||
return DiskReader.loadAsString(tempOutputJavaFile.getAbsolutePath());
|
return DiskReader.readString(tempOutputJavaFile.getAbsolutePath());
|
||||||
else
|
else
|
||||||
exception = FERNFLOWER + " " + ERROR + "! " + tempOutputJavaFile.getAbsolutePath() + " does not exist.";
|
exception = FERNFLOWER + " " + ERROR + "! " + tempOutputJavaFile.getAbsolutePath() + " does not exist.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
|
import com.konloch.disklib.DiskReader;
|
||||||
import jadx.api.JadxArgs;
|
import jadx.api.JadxArgs;
|
||||||
import jadx.api.JadxDecompiler;
|
import jadx.api.JadxDecompiler;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
import the.bytecode.club.bytecodeviewer.Settings;
|
import the.bytecode.club.bytecodeviewer.Settings;
|
||||||
|
@ -112,7 +112,7 @@ public class JADXDecompiler extends AbstractDecompiler
|
||||||
return searchForJavaFile(MiscUtils.listFiles(file));
|
return searchForJavaFile(MiscUtils.listFiles(file));
|
||||||
else if(file.getName().toLowerCase().endsWith(".java"))
|
else if(file.getName().toLowerCase().endsWith(".java"))
|
||||||
{
|
{
|
||||||
String contents = DiskReader.loadAsString(file.getAbsolutePath());
|
String contents = DiskReader.readString(file.getAbsolutePath());
|
||||||
|
|
||||||
//cleanup
|
//cleanup
|
||||||
if(Settings.DECOMPILERS_AUTOMATICALLY_CLEANUP)
|
if(Settings.DECOMPILERS_AUTOMATICALLY_CLEANUP)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.jd.core.v1.ClassFileToJavaSourceDecompiler;
|
import org.jd.core.v1.ClassFileToJavaSourceDecompiler;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.Constants;
|
import the.bytecode.club.bytecodeviewer.Constants;
|
||||||
|
@ -109,7 +109,7 @@ public class JDGUIDecompiler extends AbstractDecompiler
|
||||||
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
||||||
|
|
||||||
//read the java file
|
//read the java file
|
||||||
return DiskReader.loadAsString(tempJavaFile.getAbsolutePath());
|
return DiskReader.readString(tempJavaFile.getAbsolutePath());
|
||||||
}
|
}
|
||||||
catch (Throwable e)
|
catch (Throwable e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -80,7 +80,7 @@ public class JavapDisassembler extends AbstractDecompiler
|
||||||
File tempClassFile = tempFile.getFile();
|
File tempClassFile = tempFile.getFile();
|
||||||
|
|
||||||
//write the bytes to the class-file
|
//write the bytes to the class-file
|
||||||
DiskWriter.replaceFileBytes(tempClassFile.getAbsolutePath(), bytes, false);
|
DiskWriter.write(tempClassFile.getAbsolutePath(), bytes);
|
||||||
|
|
||||||
//load java tools into a temporary classloader
|
//load java tools into a temporary classloader
|
||||||
URLClassLoader child = new URLClassLoader(new URL[]{new File(Configuration.javaTools).toURI().toURL()}, this.getClass().getClassLoader());
|
URLClassLoader child = new URLClassLoader(new URL[]{new File(Configuration.javaTools).toURI().toURL()}, this.getClass().getClassLoader());
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -142,7 +142,7 @@ public class KrakatauDecompiler extends AbstractDecompiler
|
||||||
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
||||||
|
|
||||||
// read the java file on a successful disassemble
|
// read the java file on a successful disassemble
|
||||||
return DiskReader.loadAsString(tempOutputJavaFile.getAbsolutePath());
|
return DiskReader.readString(tempOutputJavaFile.getAbsolutePath());
|
||||||
}
|
}
|
||||||
catch (Throwable e)
|
catch (Throwable e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -111,7 +111,7 @@ public class KrakatauDisassembler extends AbstractDecompiler
|
||||||
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
throw new RuntimeException(DEV_MODE_SIMULATED_ERROR.toString());
|
||||||
|
|
||||||
// update the string on a successful disassemble
|
// update the string on a successful disassemble
|
||||||
returnString = DiskReader.loadAsString(tempDirectory.getAbsolutePath() + FS + cn.name + ".j");
|
returnString = DiskReader.readString(tempDirectory.getAbsolutePath() + FS + cn.name + ".j");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
package the.bytecode.club.bytecodeviewer.decompilers.impl;
|
||||||
|
|
||||||
import com.googlecode.d2j.smali.BaksmaliCmd;
|
import com.googlecode.d2j.smali.BaksmaliCmd;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
import com.konloch.disklib.DiskReader;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
|
@ -115,7 +115,7 @@ public class SmaliDisassembler extends AbstractDecompiler
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return DiskReader.loadAsString(outputSmali.getAbsolutePath());
|
return DiskReader.readString(outputSmali.getAbsolutePath());
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,12 +18,13 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.gui.components;
|
package the.bytecode.club.bytecodeviewer.gui.components;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
import the.bytecode.club.bytecodeviewer.resources.IconResources;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.TEMP_DIRECTORY;
|
import static the.bytecode.club.bytecodeviewer.Constants.TEMP_DIRECTORY;
|
||||||
|
|
||||||
|
@ -120,9 +121,9 @@ public class JFrameConsole extends JFrame
|
||||||
/**
|
/**
|
||||||
* Trims the console text to prevent killing the swing thread
|
* Trims the console text to prevent killing the swing thread
|
||||||
*/
|
*/
|
||||||
public String trimConsoleText(String s)
|
public String trimConsoleText(String text)
|
||||||
{
|
{
|
||||||
int len = s.length();
|
int len = text.length();
|
||||||
|
|
||||||
//TODO this should also be a setting eventually
|
//TODO this should also be a setting eventually
|
||||||
int max = 500_000;
|
int max = 500_000;
|
||||||
|
@ -136,12 +137,19 @@ public class JFrameConsole extends JFrame
|
||||||
new Thread(() ->
|
new Thread(() ->
|
||||||
{
|
{
|
||||||
//save to disk
|
//save to disk
|
||||||
DiskWriter.replaceFile(tempFile.getAbsolutePath(), s, false);
|
try
|
||||||
|
{
|
||||||
|
DiskWriter.write(tempFile.getAbsolutePath(), text);
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}, "Console Log Saving").start();
|
}, "Console Log Saving").start();
|
||||||
|
|
||||||
//trim
|
//trim
|
||||||
int skipped = len - max;
|
int skipped = len - max;
|
||||||
String trimmed = s.substring(0, max);
|
String trimmed = text.substring(0, max);
|
||||||
|
|
||||||
if (!trimmed.startsWith("WARNING: Skipping"))
|
if (!trimmed.startsWith("WARNING: Skipping"))
|
||||||
trimmed = ("WARNING: Skipping " + skipped + " chars, allowing " + max + "\n\r")
|
trimmed = ("WARNING: Skipping " + skipped + " chars, allowing " + max + "\n\r")
|
||||||
|
@ -150,7 +158,7 @@ public class JFrameConsole extends JFrame
|
||||||
return trimmed;
|
return trimmed;
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -5056940543411437508L;
|
private static final long serialVersionUID = -5056940543411437508L;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
package the.bytecode.club.bytecodeviewer.gui.resourcelist;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -382,10 +382,10 @@ public class ResourceListPane extends TranslatedVisibleComponent implements File
|
||||||
File tempFile = new File(TEMP_DIRECTORY + FS + hash + FS + name + "." + extension);
|
File tempFile = new File(TEMP_DIRECTORY + FS + hash + FS + name + "." + extension);
|
||||||
if (!tempFile.exists())
|
if (!tempFile.exists())
|
||||||
{
|
{
|
||||||
DiskWriter.replaceFileBytes(tempFile.getAbsolutePath(), content, false);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
DiskWriter.write(tempFile.getAbsolutePath(), content);
|
||||||
|
|
||||||
imp.getImporter().open(tempFile);
|
imp.getImporter().open(tempFile);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
|
@ -19,10 +19,8 @@
|
||||||
package the.bytecode.club.bytecodeviewer.plugin;
|
package the.bytecode.club.bytecodeviewer.plugin;
|
||||||
|
|
||||||
import com.google.common.io.Files;
|
import com.google.common.io.Files;
|
||||||
import com.konloch.taskmanager.Task;
|
import com.konloch.disklib.DiskReader;
|
||||||
import com.konloch.taskmanager.TaskRunnable;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
|
||||||
import org.apache.commons.compress.utils.FileNameUtils;
|
import org.apache.commons.compress.utils.FileNameUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -188,7 +186,7 @@ public class PluginWriter extends JFrame
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
area.setText(DiskReader.loadAsString(file.getAbsolutePath()));
|
area.setText(DiskReader.readString(file.getAbsolutePath()));
|
||||||
area.setCaretPosition(0);
|
area.setCaretPosition(0);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@ -269,7 +267,15 @@ public class PluginWriter extends JFrame
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DiskWriter.replaceFile(savePath.getAbsolutePath(), area.getText(), false);
|
try
|
||||||
|
{
|
||||||
|
DiskWriter.write(savePath.getAbsolutePath(), area.getText());
|
||||||
|
}
|
||||||
|
catch (IOException e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
addRecentPlugin(savePath);
|
addRecentPlugin(savePath);
|
||||||
}, "Plugin Editor Save");
|
}, "Plugin Editor Save");
|
||||||
|
|
||||||
|
@ -306,7 +312,7 @@ public class PluginWriter extends JFrame
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//update content from latest disk data
|
//update content from latest disk data
|
||||||
content = DiskReader.loadAsString(savePath.getAbsolutePath());
|
content = DiskReader.readString(savePath.getAbsolutePath());
|
||||||
|
|
||||||
//update plugin writer UI on disk update
|
//update plugin writer UI on disk update
|
||||||
SwingUtilities.invokeLater(() ->
|
SwingUtilities.invokeLater(() ->
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.resources;
|
package the.bytecode.club.bytecodeviewer.resources;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
import the.bytecode.club.bytecodeviewer.api.BCV;
|
import the.bytecode.club.bytecodeviewer.api.BCV;
|
||||||
|
@ -31,6 +31,7 @@ import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.FS;
|
import static the.bytecode.club.bytecodeviewer.Constants.FS;
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.TEMP_DIRECTORY;
|
import static the.bytecode.club.bytecodeviewer.Constants.TEMP_DIRECTORY;
|
||||||
|
@ -264,14 +265,14 @@ public class ResourceDecompiling
|
||||||
BytecodeViewer.updateBusyStatus(false);
|
BytecodeViewer.updateBusyStatus(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void decompileCurrentlyOpenedResource(Decompiler decompiler, File outputFile, boolean saveAll)
|
public static void decompileCurrentlyOpenedResource(Decompiler decompiler, File outputFile, boolean saveAll) throws IOException
|
||||||
{
|
{
|
||||||
//signal to the user that BCV is performing an action in the background
|
//signal to the user that BCV is performing an action in the background
|
||||||
BytecodeViewer.updateBusyStatus(true);
|
BytecodeViewer.updateBusyStatus(true);
|
||||||
|
|
||||||
//decompile the currently opened resource and save it to the specified file
|
//decompile the currently opened resource and save it to the specified file
|
||||||
DiskWriter.replaceFile(saveAll ? MiscUtils.append(outputFile,
|
DiskWriter.write(saveAll ? MiscUtils.append(outputFile,
|
||||||
"-" + decompiler.getDecompilerNameProgrammatic() + ".java") : outputFile.getAbsolutePath(), BCV.decompileCurrentlyOpenedClassNode(decompiler), false);
|
"-" + decompiler.getDecompilerNameProgrammatic() + ".java") : outputFile.getAbsolutePath(), BCV.decompileCurrentlyOpenedClassNode(decompiler));
|
||||||
|
|
||||||
//signal to the user that BCV is finished performing that action
|
//signal to the user that BCV is finished performing that action
|
||||||
BytecodeViewer.updateBusyStatus(false);
|
BytecodeViewer.updateBusyStatus(false);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.resources.importing.impl;
|
package the.bytecode.club.bytecodeviewer.resources.importing.impl;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
import the.bytecode.club.bytecodeviewer.BytecodeViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.Configuration;
|
import the.bytecode.club.bytecodeviewer.Configuration;
|
||||||
|
@ -27,10 +27,7 @@ import the.bytecode.club.bytecodeviewer.resources.importing.Import;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.importing.Importer;
|
import the.bytecode.club.bytecodeviewer.resources.importing.Importer;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.*;
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -96,10 +93,10 @@ public class XAPKResourceImporter implements Importer
|
||||||
BytecodeViewer.addResourceContainer(container); //add the resource container to BCV's total loaded files
|
BytecodeViewer.addResourceContainer(container); //add the resource container to BCV's total loaded files
|
||||||
}
|
}
|
||||||
|
|
||||||
public File exportTo(File original, String extension, byte[] bytes)
|
public File exportTo(File original, String extension, byte[] bytes) throws IOException
|
||||||
{
|
{
|
||||||
File file = new File(original.getAbsolutePath() + extension);
|
File file = new File(original.getAbsolutePath() + extension);
|
||||||
DiskWriter.replaceFileBytes(file.getAbsolutePath(), bytes, false);
|
DiskWriter.write(file.getAbsolutePath(), bytes);
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
package the.bytecode.club.bytecodeviewer.util;
|
package the.bytecode.club.bytecodeviewer.util;
|
||||||
|
|
||||||
import me.konloch.kontainer.io.DiskWriter;
|
import com.konloch.disklib.DiskWriter;
|
||||||
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
|
||||||
import org.apache.commons.compress.archivers.zip.ZipFile;
|
import org.apache.commons.compress.archivers.zip.ZipFile;
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
@ -390,7 +390,7 @@ public class JarUtils
|
||||||
File f = new File(name);
|
File f = new File(name);
|
||||||
f.mkdirs();
|
f.mkdirs();
|
||||||
|
|
||||||
DiskWriter.replaceFileBytes(name, cw.toByteArray(), false);
|
DiskWriter.write(name, cw.toByteArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user