mirror of
https://github.com/2006-Scape/Parabot.git
synced 2026-07-08 00:38:38 +00:00
[TASK] Reverted class adapter
This commit is contained in:
@@ -20,7 +20,7 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
|
||||
private String className;
|
||||
|
||||
private static PrintStream str_out, class_out, dec_out;
|
||||
private static PrintStream str_out, class_out;
|
||||
|
||||
static {
|
||||
redirects.put("java/awt/Toolkit", ToolkitRedirect.class);
|
||||
@@ -32,7 +32,6 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
StackTraceElementRedirect.class);
|
||||
redirects.put("java/lang/ProcessBuilder", ProcessBuilderRedirect.class);
|
||||
redirects.put("java/lang/System", SystemRedirect.class);
|
||||
redirects.put("java/io/File", FileRedirect.class);
|
||||
}
|
||||
|
||||
public RedirectClassAdapter(ClassVisitor cv) {
|
||||
@@ -40,17 +39,13 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
if (str_out == null && Core.shouldDump())
|
||||
try {
|
||||
str_out = new PrintStream(new FileOutputStream(new File(Directories.getWorkspace(),"strings.txt")));
|
||||
dec_out = new PrintStream(new FileOutputStream(new File(Directories.getWorkspace(),"decrypted_strings.txt")));
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if(class_out == null && Core.shouldDump())
|
||||
try {
|
||||
class_out = new PrintStream(new FileOutputStream(new File(Directories.getWorkspace(),"classes.txt")));
|
||||
} catch (FileNotFoundException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -60,10 +55,9 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
String superName, String[] interfaces) {
|
||||
this.className = name;
|
||||
super.visit(version, access, name, signature, superName, interfaces);
|
||||
if(class_out != null) {
|
||||
if(class_out != null)
|
||||
class_out.println(className + " References:");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitEnd(){
|
||||
@@ -92,10 +86,6 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
public void visitLdcInsn(Object o) {
|
||||
if (o instanceof String && str_out != null) {
|
||||
str_out.println(className + " " + o);
|
||||
if (!className.toLowerCase().contains("parabot")) {
|
||||
dec_out.println(o + ":");
|
||||
dec_out.println();
|
||||
}
|
||||
}
|
||||
super.visitLdcInsn(o);
|
||||
}
|
||||
@@ -106,16 +96,18 @@ public class RedirectClassAdapter extends ClassVisitor implements Opcodes {
|
||||
if (Core.isSecure()) {
|
||||
if (redirects.containsKey(owner) && !name.equals("<init>")
|
||||
&& !name.equals("<clinit>")) {
|
||||
if (opcode != INVOKESTATIC)
|
||||
if (opcode != INVOKESTATIC) {
|
||||
desc = "(L" + owner + ";" + desc.substring(1);
|
||||
}
|
||||
opcode = INVOKESTATIC;
|
||||
owner = redirects.get(owner).getName()
|
||||
.replaceAll("\\.", "/");
|
||||
}
|
||||
}
|
||||
|
||||
if(class_out != null)
|
||||
if(class_out != null) {
|
||||
class_out.println(owner);
|
||||
}
|
||||
|
||||
super.visitMethodInsn(opcode, owner, name, desc);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user