Skip to content

Commit 9ef0122

Browse files
committed
test
1 parent b4f2289 commit 9ef0122

File tree

2 files changed

+1
-79
lines changed

2 files changed

+1
-79
lines changed

library/src/main/java/org/lsposed/hiddenapibypass/Helper.java

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -16,60 +16,8 @@
1616

1717
package org.lsposed.hiddenapibypass;
1818

19-
import java.lang.invoke.MethodType;
20-
2119
@SuppressWarnings("unused")
2220
public class Helper {
23-
static public class MethodHandle {
24-
private final MethodType type = null;
25-
private MethodType nominalType;
26-
private MethodHandle cachedSpreadInvoker;
27-
protected final int handleKind = 0;
28-
29-
// The ArtMethod* or ArtField* associated with this method handle (used by the runtime).
30-
protected final long artFieldOrMethod = 0;
31-
}
32-
33-
static final public class Class {
34-
private transient ClassLoader classLoader;
35-
private transient java.lang.Class<?> componentType;
36-
private transient Object dexCache;
37-
private transient Object extData;
38-
private transient Object[] ifTable;
39-
private transient String name;
40-
private transient java.lang.Class<?> superClass;
41-
private transient Object vtable;
42-
private transient long iFields;
43-
private transient long methods;
44-
private transient long sFields;
45-
private transient int accessFlags;
46-
private transient int classFlags;
47-
private transient int classSize;
48-
private transient int clinitThreadId;
49-
private transient int dexClassDefIndex;
50-
private transient volatile int dexTypeIndex;
51-
private transient int numReferenceInstanceFields;
52-
private transient int numReferenceStaticFields;
53-
private transient int objectSize;
54-
private transient int objectSizeAllocFastPath;
55-
private transient int primitiveType;
56-
private transient int referenceInstanceOffsets;
57-
private transient int status;
58-
private transient short copiedMethodsOffset;
59-
private transient short virtualMethodsOffset;
60-
}
61-
62-
static public class AccessibleObject {
63-
private boolean override;
64-
}
65-
66-
static final public class Executable extends AccessibleObject {
67-
private Class declaringClass;
68-
private Class declaringClassOfOverriddenMethod;
69-
private Object[] parameters;
70-
private long artMethod;
71-
private int accessFlags;
72-
}
7321

7422
@SuppressWarnings("EmptyMethod")
7523
public static class NeverCall {

library/src/main/java/org/lsposed/hiddenapibypass/HiddenApiBypass.java

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -45,32 +45,6 @@
4545
import dalvik.system.VMRuntime;
4646
import sun.misc.Unsafe;
4747

48-
@RequiresApi(Build.VERSION_CODES.P)
49-
class CoreOjClassLoader extends PathClassLoader {
50-
public CoreOjClassLoader() {
51-
super(System.getenv("BOOTCLASSPATH"), null);
52-
}
53-
54-
@Override
55-
public Class<?> loadClass(String name) throws ClassNotFoundException {
56-
if (Object.class.getName().equals(name)) {
57-
return Object.class;
58-
}
59-
try {
60-
return findClass(name);
61-
} catch (Throwable ignored) {
62-
}
63-
if (Executable.class.getName().equals(name)) {
64-
return Helper.Executable.class;
65-
} else if (MethodHandle.class.getName().equals(name)) {
66-
return Helper.MethodHandle.class;
67-
} else if (Class.class.getName().equals(name)) {
68-
return Helper.Class.class;
69-
}
70-
return super.loadClass(name);
71-
}
72-
}
73-
7448
@RequiresApi(Build.VERSION_CODES.P)
7549
public final class HiddenApiBypass {
7650
private static final String TAG = "HiddenApiBypass";
@@ -92,7 +66,7 @@ public final class HiddenApiBypass {
9266
//noinspection JavaReflectionMemberAccess DiscouragedPrivateApi
9367
unsafe = (Unsafe) Unsafe.class.getDeclaredMethod("getUnsafe").invoke(null);
9468
assert unsafe != null;
95-
ClassLoader bootClassloader = new CoreOjClassLoader();
69+
ClassLoader bootClassloader = new PathClassLoader(System.getenv("BOOTCLASSPATH"), null);
9670
Class<?> executableClass = bootClassloader.loadClass(Executable.class.getName());
9771
Class<?> methodHandleClass = bootClassloader.loadClass(MethodHandle.class.getName());
9872
Class<?> classClass = bootClassloader.loadClass(Class.class.getName());

0 commit comments

Comments
 (0)