1
Fork 0
This repository has been archived on 2019-12-20. You can view files and clone it, but cannot push or open issues or pull requests.
GCastNoDeviceAuth/app/src/main/java/me/yingtongli/gcastnoauth/GCastNoAuth.java

63 lines
2.6 KiB
Java

package me.yingtongli.gcastnoauth;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import static de.robv.android.xposed.XposedHelpers.findAndHookMethod;
public class GCastNoAuth implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.equals("com.google.android.gms")) {
return;
}
XposedBridge.log("[GCastNoAuth] Loaded into com.google.android.gms");
// Hook debug logging function to show logs
/*
findAndHookMethod("qco", lpparam.classLoader, "a", String.class, "[Ljava.lang.Object;", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
String logMessage = (String) callMethod(param.thisObject, "e", new Class<?>[] {String.class, Class.forName("[Ljava.lang.Object;")}, param.args);
XposedBridge.log("[GCastNoAuth] [Debug] " + logMessage);
}
});
*/
// Hook certificate check function
/*
findAndHookMethod("ptd", lpparam.classLoader, "a", "[B", new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("[GCastNoAuth] beforeHookedMethod");
byte[] arg = (byte[]) param.args[0];
XposedBridge.log(Arrays.toString(arg));
}
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("[GCastNoAuth] afterHookedMethod");
if (param.hasThrowable()) {
XposedBridge.log("[GCastNoAuth] An exception was raised");
XposedBridge.log(param.getThrowable());
} else {
XposedBridge.log("[GCastNoAuth] No throwable");
}
}
});*/
// Hook certificate post-check function
findAndHookMethod("ptd", lpparam.classLoader, "a", int.class, Exception.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("[GCastNoAuth] beforeHookedMethod in ptd.a(int,Exception)");
// Force success
param.args[0] = 0;
}
});
}
}