diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 70b68cd3..00000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-# These are supported funding model platforms
-
-github: chiteroman # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
-patreon: # Replace with a single Patreon username
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
-polar: # Replace with a single Polar username
-custom: https://www.paypal.com/paypalme/chiteroman # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml
index 6a02f96a..0235c40e 100644
--- a/.github/workflows/android.yml
+++ b/.github/workflows/android.yml
@@ -30,8 +30,8 @@ jobs:
- name: Build with Gradle
run: ./gradlew assembleRelease
- - name: Upload PlayIntegrityFix.zip
+ - name: Upload KeystoreInjection.zip
uses: actions/upload-artifact@v4
with:
- name: PlayIntegrityFix
+ name: KeystoreInjection
path: module/*
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 26d33521..00000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 8fabff5a..00000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index 9a986ae3..00000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
deleted file mode 100644
index 0d460934..00000000
--- a/.idea/deploymentTargetSelector.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 0b0534c6..00000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
deleted file mode 100644
index 146ab09b..00000000
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
deleted file mode 100644
index 48052b24..00000000
--- a/.idea/migrations.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 0ad17cbd..00000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 9661ac71..00000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index 1281af45..3e540cb6 100644
--- a/README.md
+++ b/README.md
@@ -1,56 +1,3 @@
-# Play Integrity Fix
+# Zygisk-KeystoreInjection
-This module tries to fix Play Integrity and SafetyNet verdicts to get a valid attestation.
-
-## NOTE
-If you use a custom ROM, make sure it is signed with the maintainer's private keys, otherwise, you will never be able to pass the Device verdict.
-
-This module is not made to hide the root, nor to avoid detections in other apps. It only serves to obtain the Device verdict in the Play Integrity tests and certify your device.
-All issues created to report a non-Google app not working will be closed without notice.
-
-## Tutorial
-
-You will need root and Zygisk, so you must choose ONE of this three setups:
-
-- [Magisk](https://github.com/topjohnwu/Magisk) with Zygisk enabled.
-- [KernelSU](https://github.com/tiann/KernelSU) with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed.
-- [APatch](https://github.com/bmax121/APatch) with [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext) module installed.
-
-After flashing and reboot your device, you can check PI and SN using these apps:
-
-- Play Integrity -> https://play.google.com/store/apps/details?id=gr.nikolasspyr.integritycheck
-- SafetyNet -> https://play.google.com/store/apps/details?id=rikka.safetynetchecker
-
-NOTE: if you get an error message about a limit, you need to use another app, this is because a lot of users are requesting an attestation.
-
-NOTE: SafetyNet is obsolete, more info here: https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline
-
-Also, if you are using custom rom or custom kernel, be sure that your kernel name isn't blacklisted, you can check it running ```uname -r``` command. This is a list of banned strings: https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/post-89308909
-
-## Verdicts
-
-After requesting an attestation in Play Integrity API you should get this result:
-
-- MEETS_BASIC_INTEGRITY ✅
-- MEETS_DEVICE_INTEGRITY ✅
-- MEETS_STRONG_INTEGRITY ❌
-- MEETS_VIRTUAL_INTEGRITY ❌
-
-You can know more about verdicts in this post: https://xdaforums.com/t/info-play-integrity-api-replacement-for-safetynet.4479337/
-
-And in SafetyNet you should get this:
-
-- basicIntegrity: true
-- ctsProfileMatch: true
-- evaluationType: BASIC
-
-NOTE: Strong verdict is impossible to pass on unlocked bootloader devices, there are few devices and "exploits" which will allow you to pass it, but, in normal conditions, this verdict will be green only if you are using stock ROM and locked bootloader. The old posts talking about Strong pass was an "exploit" in Google servers, obviously, now it's patched.
-
-## FAQ
-https://xdaforums.com/t/pif-faq.4653307/
-
-## Download
-https://github.com/chiteroman/PlayIntegrityFix/releases/latest
-
-## Donations
-[PayPal](https://www.paypal.com/paypalme/chiteroman)
+This module tries to Generate a valid certificate chain by injecting custom Keystore provider.
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 1ebce953..088997a9 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -3,7 +3,7 @@ plugins {
}
android {
- namespace = "es.chiteroman.playintegrityfix"
+ namespace = "io.github.aviraxp.keystoreinjection"
compileSdk = 34
ndkVersion = "26.3.11579264"
buildToolsVersion = "34.0.0"
@@ -13,11 +13,11 @@ android {
}
defaultConfig {
- applicationId = "es.chiteroman.playintegrityfix"
- minSdk = 26
+ applicationId = "io.github.aviraxp.keystoreinjection"
+ minSdk = 34
targetSdk = 34
- versionCode = 15990
- versionName = "v15.9.9"
+ versionCode = 10
+ versionName = "v0.1.0"
multiDexEnabled = false
packaging {
@@ -110,7 +110,7 @@ tasks.register("copyFiles") {
tasks.register("zip") {
dependsOn("copyFiles")
- archiveFileName.set("PlayIntegrityFix_${project.android.defaultConfig.versionName}.zip")
+ archiveFileName.set("KeystoreInjection_${project.android.defaultConfig.versionName}.zip")
destinationDirectory.set(project.rootDir.resolve("out"))
from(project.rootDir.resolve("module"))
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 2bb0776d..1dded961 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -1,8 +1,8 @@
--keep class es.chiteroman.playintegrityfix.EntryPoint {public ;}
--keep class es.chiteroman.playintegrityfix.CustomProvider
--keep class es.chiteroman.playintegrityfix.CustomKeyStoreSpi
--keep class es.chiteroman.playintegrityfix.CustomKeyStoreKeyPairGeneratorSpi$EC
--keep class es.chiteroman.playintegrityfix.CustomKeyStoreKeyPairGeneratorSpi$RSA
+-keep class io.github.aviraxp.keystoreinjection.EntryPoint {public ;}
+-keep class io.github.aviraxp.keystoreinjection.CustomProvider
+-keep class io.github.aviraxp.keystoreinjection.CustomKeyStoreSpi
+-keep class io.github.aviraxp.keystoreinjection.CustomKeyStoreKeyPairGeneratorSpi$EC
+-keep class io.github.aviraxp.keystoreinjection.CustomKeyStoreKeyPairGeneratorSpi$RSA
-keep class org.bouncycastle.jcajce.provider.** { *; }
-keep class org.bouncycastle.jce.provider.** { *; }
diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt
index 4f8dc9df..9f80e100 100644
--- a/app/src/main/cpp/CMakeLists.txt
+++ b/app/src/main/cpp/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.22.1)
-project(playintegrityfix)
+project(keystoreinjection)
find_package(cxx REQUIRED CONFIG)
diff --git a/app/src/main/cpp/main.cpp b/app/src/main/cpp/main.cpp
index 7128034b..d73cc99d 100644
--- a/app/src/main/cpp/main.cpp
+++ b/app/src/main/cpp/main.cpp
@@ -7,7 +7,7 @@
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "PIF", __VA_ARGS__)
-#define CLASSES_DEX "/data/adb/modules/playintegrityfix/classes.dex"
+#define CLASSES_DEX "/data/adb/modules/keystoreinjection/classes.dex"
#define KEYBOX_FILE_PATH "/data/adb/keybox.xml"
@@ -37,7 +37,7 @@ ssize_t xwrite(int fd, void *buffer, size_t count) {
return total;
}
-class PlayIntegrityFix : public zygisk::ModuleBase {
+class KeystoreInjection : public zygisk::ModuleBase {
public:
void onLoad(zygisk::Api *api, JNIEnv *env) override {
this->api = api;
@@ -119,7 +119,7 @@ class PlayIntegrityFix : public zygisk::ModuleBase {
LOGD("load class");
auto loadClass = env->GetMethodID(clClass, "loadClass",
"(Ljava/lang/String;)Ljava/lang/Class;");
- auto entryClassName = env->NewStringUTF("es.chiteroman.playintegrityfix.EntryPoint");
+ auto entryClassName = env->NewStringUTF("io.github.aviraxp.keystoreinjection.EntryPoint");
auto entryClassObj = env->CallObjectMethod(dexCl, loadClass, entryClassName);
auto entryPointClass = (jclass) entryClassObj;
@@ -169,6 +169,6 @@ static void companion(int fd) {
xwrite(fd, xmlVector.data(), xmlSize);
}
-REGISTER_ZYGISK_MODULE(PlayIntegrityFix)
+REGISTER_ZYGISK_MODULE(KeystoreInjection)
REGISTER_ZYGISK_COMPANION(companion)
\ No newline at end of file
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/CertUtils.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/CertUtils.java
similarity index 97%
rename from app/src/main/java/es/chiteroman/playintegrityfix/CertUtils.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/CertUtils.java
index 3072f38b..5de3f14a 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/CertUtils.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/CertUtils.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.cert.X509CertificateHolder;
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreKeyPairGeneratorSpi.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreKeyPairGeneratorSpi.java
similarity index 99%
rename from app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreKeyPairGeneratorSpi.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreKeyPairGeneratorSpi.java
index 22f9f500..dc1652c2 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreKeyPairGeneratorSpi.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreKeyPairGeneratorSpi.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import android.annotation.SuppressLint;
import android.os.Build;
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreSpi.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreSpi.java
similarity index 98%
rename from app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreSpi.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreSpi.java
index 7cc58d66..bc81237b 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/CustomKeyStoreSpi.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomKeyStoreSpi.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import android.util.Log;
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/CustomProvider.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomProvider.java
similarity index 95%
rename from app/src/main/java/es/chiteroman/playintegrityfix/CustomProvider.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/CustomProvider.java
index 0df89c23..85052df8 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/CustomProvider.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/CustomProvider.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import java.security.Provider;
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/EntryPoint.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/EntryPoint.java
similarity index 97%
rename from app/src/main/java/es/chiteroman/playintegrityfix/EntryPoint.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/EntryPoint.java
index b70afb9d..19731df2 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/EntryPoint.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/EntryPoint.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import android.util.Log;
@@ -84,6 +84,6 @@ static Keybox box(String type) {
}
static void LOG(String msg) {
- Log.d("PIF", msg);
+ Log.d("KeystoreInjection", msg);
}
}
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/Keybox.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/Keybox.java
similarity index 89%
rename from app/src/main/java/es/chiteroman/playintegrityfix/Keybox.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/Keybox.java
index f6bef6af..aa85fc0a 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/Keybox.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/Keybox.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import org.bouncycastle.asn1.x500.X500Name;
diff --git a/app/src/main/java/es/chiteroman/playintegrityfix/XMLParser.java b/app/src/main/java/io/github/aviraxp/keystoreinjection/XMLParser.java
similarity index 98%
rename from app/src/main/java/es/chiteroman/playintegrityfix/XMLParser.java
rename to app/src/main/java/io/github/aviraxp/keystoreinjection/XMLParser.java
index 9b5cfd16..f47c6f1b 100644
--- a/app/src/main/java/es/chiteroman/playintegrityfix/XMLParser.java
+++ b/app/src/main/java/io/github/aviraxp/keystoreinjection/XMLParser.java
@@ -1,4 +1,4 @@
-package es.chiteroman.playintegrityfix;
+package io.github.aviraxp.keystoreinjection;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
diff --git a/changelog.md b/changelog.md
deleted file mode 100644
index 570f5a8e..00000000
--- a/changelog.md
+++ /dev/null
@@ -1,13 +0,0 @@
-Telegram channel:
-https://t.me/playintegrityfix
-
-Device verdict should pass by default.
-If not, try removing /data/adb/pif.json file.
-
-Donations:
-https://www.paypal.com/paypalme/chiteroman
-
-# v15.9.9
-
-- MEETS_DEVICE_INTEGRITY is green again ✅
-- Refine code logic
diff --git a/module/customize.sh b/module/customize.sh
index 96d019f2..0737112b 100644
--- a/module/customize.sh
+++ b/module/customize.sh
@@ -1,4 +1,4 @@
-# Error on < Android 8.
-if [ "$API" -lt 26 ]; then
- abort "- !!! You can't use this module on Android < 8.0"
+# Error on < Android 14.
+if [ "$API" -lt 34 ]; then
+ abort "- !!! You can't use this module on Android < 14"
fi
diff --git a/module/module.prop b/module/module.prop
index b660f785..1b909731 100644
--- a/module/module.prop
+++ b/module/module.prop
@@ -1,7 +1,6 @@
-id=playintegrityfix
-name=Play Integrity Fix
-version=v15.9.9
-versionCode=15990
-author=chiteroman
-description=Universal modular fix for Play Integrity (and SafetyNet) on devices running Android 8-14.
-updateJson=https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/update.json
+id=keystoreinjection
+name=Keystore Injection
+version=v0.1.0
+versionCode=10
+author=aviraxp
+description=Generate a valid certificate chain by injecting custom Keystore provider.
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 0feb3870..c4072d7e 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -13,5 +13,5 @@ dependencyResolutionManagement {
}
}
-rootProject.name = "PlayIntegrityFix"
+rootProject.name = "KeystoreInjection"
include(":app")
diff --git a/update.json b/update.json
index 7c03da51..a4b8eebb 100644
--- a/update.json
+++ b/update.json
@@ -1,6 +1,4 @@
{
- "version": "v15.9.9",
- "versionCode": 15990,
- "zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v15.9.9/PlayIntegrityFix_v15.9.9.zip",
- "changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md"
+ "version": "v0.1.0",
+ "versionCode": 10
}