This commit is contained in:
chiteroman
2023-11-10 21:43:37 +01:00
parent 43548becc6
commit e03f363117
70 changed files with 16714 additions and 1376 deletions

View File

@@ -3,30 +3,14 @@ package es.chiteroman.playintegrityfix;
import android.os.Build;
import android.util.Log;
import org.lsposed.hiddenapibypass.HiddenApiBypass;
import java.lang.reflect.Field;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.KeyStoreSpi;
import java.security.Provider;
import java.security.Security;
import java.util.List;
public class EntryPoint {
private static List<Field> fields;
static {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
try {
fields = HiddenApiBypass.getStaticFields(Class.forName("android.os.Build"));
LOG("Fields added in list: " + fields.size());
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}
public static void init() {
spoofDevice();
spoofProvider();
@@ -73,31 +57,18 @@ public class EntryPoint {
setProp("BRAND", BRAND);
setProp("MODEL", MODEL);
setProp("PRODUCT_FOR_ATTESTATION", PRODUCT);
setProp("DEVICE_FOR_ATTESTATION", DEVICE);
setProp("MANUFACTURER_FOR_ATTESTATION", MANUFACTURER);
setProp("BRAND_FOR_ATTESTATION", BRAND);
setProp("MODEL_FOR_ATTESTATION", MODEL);
setProp("FINGERPRINT", FINGERPRINT);
}
private static void setProp(String name, String value) {
try {
Field field = null;
if (fields != null && !fields.isEmpty()) {
for (Field f : fields) {
if (f.getName().equals(name)) {
field = f;
break;
}
}
}
if (field == null) field = Build.class.getDeclaredField(name);
String oldValue;
Field field = Build.class.getDeclaredField(name);
field.setAccessible(true);
oldValue = (String) field.get(null);
field.set(null, value);
field.setAccessible(false);
LOG(String.format("Modified field '%s' with value '%s'", name, value));
LOG(String.format("[%s] -> [%s] is now: [%s]", name, oldValue, value));
} catch (NoSuchFieldException e) {
LOG(String.format("Couldn't find '%s' field name.", name));
} catch (IllegalAccessException e) {