fix: support dynamic strings concat (#1250)

This commit is contained in:
Skylot
2021-10-15 19:48:16 +01:00
parent 418df2fd93
commit 358cddd9a7
12 changed files with 459 additions and 193 deletions
@@ -1,32 +1,29 @@
package jadx.plugins.input.java.utils;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.concurrent.TimeUnit;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.util.TraceClassVisitor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.github.skylot.raung.disasm.RaungDisasm;
public class DisasmUtils {
private static final Logger LOG = LoggerFactory.getLogger(DisasmUtils.class);
public static String get(byte[] bytes) {
return useASM(bytes);
return useRaung(bytes);
}
private static String useASM(byte[] bytes) {
StringWriter out = new StringWriter();
TraceClassVisitor tcv = new TraceClassVisitor(new PrintWriter(out));
new ClassReader(bytes).accept(tcv, 0);
return out.toString();
private static String useRaung(byte[] bytes) {
return RaungDisasm.create()
.executeForInputStream(new ByteArrayInputStream(bytes));
}
/**