完全看不明白这些反编译的东东,哪位高手能帮忙翻译一下? if(loader instanceof myClassLoader)
{
DVBClassLoaderImpl ldr = (myClassLoaderImpl)loader;
Method m = (Method)AccessController.doPrivileged(new PrivilegedAction() { public Object run()
{
Method m = null;
IxcClassLoader.class$1;
if(IxcClassLoader.class$1 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
IxcClassLoader.class$1 = Class.forName("java.security.SecureClassLoader");
goto _L2
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
"defineClass";
Class aclass[] = new Class[5];
aclass;
aclass;
0;
IxcClassLoader.class$2;
if(IxcClassLoader.class$2 != null) goto _L4; else goto _L3
_L3:
JVM INSTR pop ;
IxcClassLoader.class$2 = Class.forName("java.lang.String");
goto _L4
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L4:
JVM INSTR aastore ;
JVM INSTR dup ;
1;
classBytes.getClass();
JVM INSTR aastore ;
JVM INSTR dup ;
2;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
3;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
4;
IxcClassLoader.class$4;
if(IxcClassLoader.class$4 != null) goto _L6; else goto _L5
_L5:
JVM INSTR pop ;
IxcClassLoader.class$4 = Class.forName("java.security.CodeSource");
goto _L6
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L6:
JVM INSTR aastore ;
getDeclaredMethod();
m;
break MISSING_BLOCK_LABEL_156;
SecurityException e;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
break MISSING_BLOCK_LABEL_156;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
Method.setAccessible(new AccessibleObject[] {
m
}, true);
return m;
} }
);
java.security.CodeSource cs = ldr.getAppProxy().getClass().getProtectionDomain().getCodeSource();
result = (Class)m.invoke(loader, new Object[] {
stubName, classBytes, new Integer(0), new Integer(classBytes.length), cs
});
} else
{
Method m = (Method)AccessController.doPrivileged(new PrivilegedAction() { public Object run()
{
Method m = null;
IxcClassLoader.class$5;
if(IxcClassLoader.class$5 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
IxcClassLoader.class$5 = Class.forName("java.lang.ClassLoader");
goto _L2
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
"defineClass";
Class aclass[] = new Class[4];
aclass;
aclass;
0;
IxcClassLoader.class$2;
if(IxcClassLoader.class$2 != null) goto _L4; else goto _L3
_L3:
JVM INSTR pop ;
IxcClassLoader.class$2 = Class.forName("java.lang.String");
goto _L4
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L4:
JVM INSTR aastore ;
JVM INSTR dup ;
1;
classBytes.getClass();
JVM INSTR aastore ;
JVM INSTR dup ;
2;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
3;
Integer.TYPE;
JVM INSTR aastore ;
getDeclaredMethod();
m;
break MISSING_BLOCK_LABEL_121;
SecurityException e;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
break MISSING_BLOCK_LABEL_121;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
Method.setAccessible(new AccessibleObject[] {
m
}, true);
return m;
} }
);
result = (Class)m.invoke(loader, new Object[] {
stubName, classBytes, new Integer(0), new Integer(classBytes.length)
});
}
{
DVBClassLoaderImpl ldr = (myClassLoaderImpl)loader;
Method m = (Method)AccessController.doPrivileged(new PrivilegedAction() { public Object run()
{
Method m = null;
IxcClassLoader.class$1;
if(IxcClassLoader.class$1 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
IxcClassLoader.class$1 = Class.forName("java.security.SecureClassLoader");
goto _L2
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
"defineClass";
Class aclass[] = new Class[5];
aclass;
aclass;
0;
IxcClassLoader.class$2;
if(IxcClassLoader.class$2 != null) goto _L4; else goto _L3
_L3:
JVM INSTR pop ;
IxcClassLoader.class$2 = Class.forName("java.lang.String");
goto _L4
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L4:
JVM INSTR aastore ;
JVM INSTR dup ;
1;
classBytes.getClass();
JVM INSTR aastore ;
JVM INSTR dup ;
2;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
3;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
4;
IxcClassLoader.class$4;
if(IxcClassLoader.class$4 != null) goto _L6; else goto _L5
_L5:
JVM INSTR pop ;
IxcClassLoader.class$4 = Class.forName("java.security.CodeSource");
goto _L6
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L6:
JVM INSTR aastore ;
getDeclaredMethod();
m;
break MISSING_BLOCK_LABEL_156;
SecurityException e;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
break MISSING_BLOCK_LABEL_156;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
Method.setAccessible(new AccessibleObject[] {
m
}, true);
return m;
} }
);
java.security.CodeSource cs = ldr.getAppProxy().getClass().getProtectionDomain().getCodeSource();
result = (Class)m.invoke(loader, new Object[] {
stubName, classBytes, new Integer(0), new Integer(classBytes.length), cs
});
} else
{
Method m = (Method)AccessController.doPrivileged(new PrivilegedAction() { public Object run()
{
Method m = null;
IxcClassLoader.class$5;
if(IxcClassLoader.class$5 != null) goto _L2; else goto _L1
_L1:
JVM INSTR pop ;
IxcClassLoader.class$5 = Class.forName("java.lang.ClassLoader");
goto _L2
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L2:
"defineClass";
Class aclass[] = new Class[4];
aclass;
aclass;
0;
IxcClassLoader.class$2;
if(IxcClassLoader.class$2 != null) goto _L4; else goto _L3
_L3:
JVM INSTR pop ;
IxcClassLoader.class$2 = Class.forName("java.lang.String");
goto _L4
JVM INSTR new #42 <Class NoClassDefFoundError>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
getMessage();
NoClassDefFoundError();
throw ;
_L4:
JVM INSTR aastore ;
JVM INSTR dup ;
1;
classBytes.getClass();
JVM INSTR aastore ;
JVM INSTR dup ;
2;
Integer.TYPE;
JVM INSTR aastore ;
JVM INSTR dup ;
3;
Integer.TYPE;
JVM INSTR aastore ;
getDeclaredMethod();
m;
break MISSING_BLOCK_LABEL_121;
SecurityException e;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
break MISSING_BLOCK_LABEL_121;
e;
Logger.error("[BDJSDK-JAVA] --- ", e);
Method.setAccessible(new AccessibleObject[] {
m
}, true);
return m;
} }
);
result = (Class)m.invoke(loader, new Object[] {
stubName, classBytes, new Integer(0), new Integer(classBytes.length)
});
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货