keygen
This commit is contained in:
parent
40cc836ae3
commit
6cd483afce
|
@ -31,6 +31,9 @@ import org.bouncycastle.util.io.pem.PemReader;
|
|||
import java.io.StringReader;
|
||||
import java.math.BigInteger;
|
||||
import java.security.KeyPair;
|
||||
import java.security.KeyPairGenerator;
|
||||
import java.security.KeyStore;
|
||||
import java.security.KeyStoreSpi;
|
||||
import java.security.SecureRandom;
|
||||
import java.security.cert.Certificate;
|
||||
import java.security.cert.X509Certificate;
|
||||
|
@ -48,7 +51,7 @@ import de.robv.android.xposed.callbacks.XC_LoadPackage;
|
|||
|
||||
public final class Xposed implements IXposedHookLoadPackage {
|
||||
|
||||
private static final KeyPair EC_KEYPAIR;
|
||||
public static final KeyPair EC_KEYPAIR;
|
||||
private static final Map<Integer, ASN1Primitive> map = new HashMap<>();
|
||||
private static final SecureRandom random = new SecureRandom();
|
||||
private static byte[] attestationChallengeBytes = new byte[0];
|
||||
|
@ -327,9 +330,12 @@ public final class Xposed implements IXposedHookLoadPackage {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) {
|
||||
try {
|
||||
Class<?> keyGenBuilder = XposedHelpers.findClass("android.security.keystore.KeyGenParameterSpec.Builder", lpparam.classLoader);
|
||||
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
|
||||
|
||||
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC", "AndroidKeyStore");
|
||||
XposedHelpers.findAndHookMethod(keyPairGenerator.getClass(), "generateKeyPair", XC_MethodReplacement.returnConstant(EC_KEYPAIR));
|
||||
|
||||
Class<?> keyGenBuilder = XposedHelpers.findClassIfExists("android.security.keystore.KeyGenParameterSpec.Builder", lpparam.classLoader);
|
||||
XposedHelpers.findAndHookMethod(keyGenBuilder, "setAttestationChallenge", byte[].class, new XC_MethodHook() {
|
||||
@Override
|
||||
protected void beforeHookedMethod(MethodHookParam param) {
|
||||
|
@ -338,11 +344,9 @@ public final class Xposed implements IXposedHookLoadPackage {
|
|||
}
|
||||
});
|
||||
|
||||
Class<?> keyPairGenerator = XposedHelpers.findClass("android.security.keystore2.AndroidKeyStoreKeyPairGeneratorSpi", lpparam.classLoader);
|
||||
XposedHelpers.findAndHookMethod(keyPairGenerator, "generateKeyPair", XC_MethodReplacement.returnConstant(EC_KEYPAIR));
|
||||
|
||||
Class<?> keyStoreSpi = XposedHelpers.findClass("android.security.keystore2.AndroidKeyStoreSpi", lpparam.classLoader);
|
||||
XposedHelpers.findAndHookMethod(keyStoreSpi, "engineGetCertificateChain", String.class, new XC_MethodHook() {
|
||||
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
|
||||
KeyStoreSpi keyStoreSpi = (KeyStoreSpi) XposedHelpers.getObjectField(keyStore, "keyStoreSpi");
|
||||
XposedHelpers.findAndHookMethod(keyStoreSpi.getClass(), "engineGetCertificateChain", String.class, new XC_MethodHook() {
|
||||
@Override
|
||||
protected void afterHookedMethod(MethodHookParam param) {
|
||||
try {
|
||||
|
@ -384,8 +388,5 @@ public final class Xposed implements IXposedHookLoadPackage {
|
|||
}
|
||||
}
|
||||
});
|
||||
} catch (Throwable t) {
|
||||
XposedBridge.log("ERROR: " + t);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue