gzip inputstream & outputstream

This commit is contained in:
sirjonasxx 2022-02-09 21:25:51 +01:00
parent 3dc8779cf7
commit c033057548
2 changed files with 15 additions and 7 deletions

View File

@ -17,6 +17,8 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GWasm { public class GWasm {
@ -52,9 +54,9 @@ public class GWasm {
} }
public static void main(String[] args) throws IOException, InvalidOpCodeException { public static void main(String[] args) throws IOException, InvalidOpCodeException {
//
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
Module module = new Module("C:\\Users\\jonas\\Desktop\\Projects\\Jznnp\\S\\habbo2020\\rawfiles\\0.6.0_(7)\\habbo2020-global-prod.wasm.code.unityweb"); Module module = new Module("C:\\Users\\jonas\\Desktop\\Projects\\Jznnp\\S\\habbo2020\\rawfiles\\0.23.0_(534)\\habbo2020-global-prod.wasm.gz", true);
long end = System.currentTimeMillis(); long end = System.currentTimeMillis();
System.out.println("Assembly time: " + (end - start)); System.out.println("Assembly time: " + (end - start));
@ -73,7 +75,7 @@ public class GWasm {
// )); // ));
start = System.currentTimeMillis(); start = System.currentTimeMillis();
module.assembleToFile("C:\\Users\\jonas\\Desktop\\Projects\\Jznnp\\S\\habbo2020\\rawfiles\\0.6.0_(7)\\out\\habbo2020-global-prod.wasm.code.unityweb"); module.assembleToFile("C:\\Users\\jonas\\Desktop\\Projects\\Jznnp\\S\\habbo2020\\rawfiles\\0.23.0_(534)\\out\\habbo2020-global-prod.wasm.gz", true);
end = System.currentTimeMillis(); end = System.currentTimeMillis();
System.out.println("Disassembly time: " + (end - start)); System.out.println("Disassembly time: " + (end - start));

View File

@ -21,6 +21,8 @@ import wasm.disassembly.modules.sections.type.TypeSection;
import java.io.*; import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class Module extends WASMOpCode { public class Module extends WASMOpCode {
@ -75,8 +77,12 @@ public class Module extends WASMOpCode {
in.close(); in.close();
} }
public Module(String fileName) throws IOException, InvalidOpCodeException { public Module(String fileName, boolean gzip) throws IOException, InvalidOpCodeException {
this(new BufferedInputStream(new FileInputStream(new File(fileName)))); this(new BufferedInputStream(
gzip ?
new GZIPInputStream(new FileInputStream(new File(fileName))) :
new FileInputStream(new File(fileName))
));
} }
public Module(Magic magic, Version version, TypeSection typeSection, ImportSection importSection, FunctionSection functionSection, TableSection tableSection, MemorySection memorySection, GlobalSection globalSection, ExportSection exportSection, StartSection startSection, ElementSection elementSection, CodeSection codeSection, DataSection dataSection) { public Module(Magic magic, Version version, TypeSection typeSection, ImportSection importSection, FunctionSection functionSection, TableSection tableSection, MemorySection memorySection, GlobalSection globalSection, ExportSection exportSection, StartSection startSection, ElementSection elementSection, CodeSection codeSection, DataSection dataSection) {
@ -148,8 +154,8 @@ public class Module extends WASMOpCode {
} }
} }
public void assembleToFile(String fileName) throws IOException, InvalidOpCodeException { public void assembleToFile(String fileName, boolean gzip) throws IOException, InvalidOpCodeException {
FileOutputStream habAssembled = new FileOutputStream(fileName); OutputStream habAssembled = gzip ? new GZIPOutputStream(new FileOutputStream(fileName)) : new FileOutputStream(fileName);
assemble(habAssembled); assemble(habAssembled);
habAssembled.close(); habAssembled.close();
} }