You've already forked PlayIntegrityFork
mirror of
https://github.com/osm0sis/PlayIntegrityFork.git
synced 2025-09-06 06:37:06 +00:00
Remove special case for logFields, simplify logs
- Run logFields only when spoofProvider, spoofBuild, or spoofSignature is on - Simplify log outputs; PS -> Play Store, DG -> DroidGuard
This commit is contained in:
committed by
Chris Renshaw
parent
8805c3736d
commit
11e2629a26
@@ -169,9 +169,7 @@ public:
|
|||||||
else spoofVendingSdk = 0;
|
else spoofVendingSdk = 0;
|
||||||
|
|
||||||
if (spoofProps > 0) doHook();
|
if (spoofProps > 0) doHook();
|
||||||
if (spoofBuild + spoofProvider + spoofSignature + spoofVendingSdk > 0 ||
|
if (spoofBuild + spoofProvider + spoofSignature + spoofVendingSdk > 0) inject();
|
||||||
pkgName == DROIDGUARD_PACKAGE && verboseLogs > 99)
|
|
||||||
inject();
|
|
||||||
|
|
||||||
dexVector.clear();
|
dexVector.clear();
|
||||||
json.clear();
|
json.clear();
|
||||||
@@ -278,18 +276,20 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void inject() {
|
void inject() {
|
||||||
LOGD("JNI %s: Getting system classloader", pkgName.c_str());
|
const char* niceName = pkgName == VENDING_PACKAGE ? "PS" : "DG";
|
||||||
|
|
||||||
|
LOGD("JNI %s: Getting system classloader", niceName);
|
||||||
auto clClass = env->FindClass("java/lang/ClassLoader");
|
auto clClass = env->FindClass("java/lang/ClassLoader");
|
||||||
auto getSystemClassLoader = env->GetStaticMethodID(clClass, "getSystemClassLoader", "()Ljava/lang/ClassLoader;");
|
auto getSystemClassLoader = env->GetStaticMethodID(clClass, "getSystemClassLoader", "()Ljava/lang/ClassLoader;");
|
||||||
auto systemClassLoader = env->CallStaticObjectMethod(clClass, getSystemClassLoader);
|
auto systemClassLoader = env->CallStaticObjectMethod(clClass, getSystemClassLoader);
|
||||||
|
|
||||||
LOGD("JNI %s: Creating module classloader", pkgName.c_str());
|
LOGD("JNI %s: Creating module classloader", niceName);
|
||||||
auto dexClClass = env->FindClass("dalvik/system/InMemoryDexClassLoader");
|
auto dexClClass = env->FindClass("dalvik/system/InMemoryDexClassLoader");
|
||||||
auto dexClInit = env->GetMethodID(dexClClass, "<init>", "(Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V");
|
auto dexClInit = env->GetMethodID(dexClClass, "<init>", "(Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V");
|
||||||
auto buffer = env->NewDirectByteBuffer(dexVector.data(), static_cast<jlong>(dexVector.size()));
|
auto buffer = env->NewDirectByteBuffer(dexVector.data(), static_cast<jlong>(dexVector.size()));
|
||||||
auto dexCl = env->NewObject(dexClClass, dexClInit, buffer, systemClassLoader);
|
auto dexCl = env->NewObject(dexClClass, dexClInit, buffer, systemClassLoader);
|
||||||
|
|
||||||
LOGD("JNI %s: Loading module class", pkgName.c_str());
|
LOGD("JNI %s: Loading module class", niceName);
|
||||||
auto loadClass = env->GetMethodID(clClass, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;");
|
auto loadClass = env->GetMethodID(clClass, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;");
|
||||||
const char* className = pkgName == VENDING_PACKAGE ? "es.chiteroman.playintegrityfix.EntryPointVending" : "es.chiteroman.playintegrityfix.EntryPoint";
|
const char* className = pkgName == VENDING_PACKAGE ? "es.chiteroman.playintegrityfix.EntryPointVending" : "es.chiteroman.playintegrityfix.EntryPoint";
|
||||||
auto entryClassName = env->NewStringUTF(className);
|
auto entryClassName = env->NewStringUTF(className);
|
||||||
@@ -298,16 +298,16 @@ private:
|
|||||||
auto entryClass = (jclass) entryClassObj;
|
auto entryClass = (jclass) entryClassObj;
|
||||||
|
|
||||||
if (pkgName == VENDING_PACKAGE) {
|
if (pkgName == VENDING_PACKAGE) {
|
||||||
LOGD("JNI %s: Calling EntryPointVending.init", pkgName.c_str());
|
LOGD("JNI %s: Calling EntryPointVending.init", niceName);
|
||||||
auto entryInit = env->GetStaticMethodID(entryClass, "init", "(II)V");
|
auto entryInit = env->GetStaticMethodID(entryClass, "init", "(II)V");
|
||||||
env->CallStaticVoidMethod(entryClass, entryInit, verboseLogs, spoofVendingSdk);
|
env->CallStaticVoidMethod(entryClass, entryInit, verboseLogs, spoofVendingSdk);
|
||||||
} else {
|
} else {
|
||||||
LOGD("JNI %s: Sending JSON", pkgName.c_str());
|
LOGD("JNI %s: Sending JSON", niceName);
|
||||||
auto receiveJson = env->GetStaticMethodID(entryClass, "receiveJson", "(Ljava/lang/String;)V");
|
auto receiveJson = env->GetStaticMethodID(entryClass, "receiveJson", "(Ljava/lang/String;)V");
|
||||||
auto javaStr = env->NewStringUTF(json.dump().c_str());
|
auto javaStr = env->NewStringUTF(json.dump().c_str());
|
||||||
env->CallStaticVoidMethod(entryClass, receiveJson, javaStr);
|
env->CallStaticVoidMethod(entryClass, receiveJson, javaStr);
|
||||||
|
|
||||||
LOGD("JNI %s: Calling EntryPoint.init", pkgName.c_str());
|
LOGD("JNI %s: Calling EntryPoint.init", niceName);
|
||||||
auto entryInit = env->GetStaticMethodID(entryClass, "init", "(IIII)V");
|
auto entryInit = env->GetStaticMethodID(entryClass, "init", "(IIII)V");
|
||||||
env->CallStaticVoidMethod(entryClass, entryInit, verboseLogs, spoofBuild, spoofProvider, spoofSignature);
|
env->CallStaticVoidMethod(entryClass, entryInit, verboseLogs, spoofBuild, spoofProvider, spoofSignature);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import android.util.Log;
|
|||||||
public final class EntryPointVending {
|
public final class EntryPointVending {
|
||||||
|
|
||||||
private static void LOG(String msg) {
|
private static void LOG(String msg) {
|
||||||
Log.d("PIF/Java:vending", msg);
|
Log.d("PIF/Java:PS", msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("DefaultLocale")
|
@SuppressLint("DefaultLocale")
|
||||||
|
|||||||
Reference in New Issue
Block a user