mirror of
https://github.com/chiteroman/PlayIntegrityFix.git
synced 2025-01-19 03:22:39 +02:00
v13.2
This commit is contained in:
parent
abc57e0a46
commit
177501647c
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
6
.idea/compiler.xml
Normal file
6
.idea/compiler.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<bytecodeTargetLevel target="17" />
|
||||||
|
</component>
|
||||||
|
</project>
|
19
.idea/gradle.xml
Normal file
19
.idea/gradle.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="GRADLE" />
|
||||||
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleJvm" value="jbr-17" />
|
||||||
|
<option name="modules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
10
.idea/inspectionProfiles/Project_Default.xml
Normal file
10
.idea/inspectionProfiles/Project_Default.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||||
|
<option name="processCode" value="true" />
|
||||||
|
<option name="processLiterals" value="true" />
|
||||||
|
<option name="processComments" value="true" />
|
||||||
|
</inspection_tool>
|
||||||
|
</profile>
|
||||||
|
</component>
|
10
.idea/misc.xml
Normal file
10
.idea/misc.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="Android" />
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -28,6 +28,11 @@ It injects a classes.dex file to modify few fields in android.os.Build class. Al
|
|||||||
it creates a hook to modify system properties.
|
it creates a hook to modify system properties.
|
||||||
The purpose of the module is to avoid a hardware attestation.
|
The purpose of the module is to avoid a hardware attestation.
|
||||||
|
|
||||||
|
## About 'pif.prop' file
|
||||||
|
|
||||||
|
You can modify this file to spoof android.os.Build fields in GMS unstable process and try to pass Device verdict.
|
||||||
|
You can't use values from recent devices due this devices must use a hardware attestation.
|
||||||
|
|
||||||
## Failing BASIC verdict
|
## Failing BASIC verdict
|
||||||
|
|
||||||
If you are failing basicIntegrity (SafetyNet) or MEETS_BASIC_INTEGRITY (Play Integrity) something is
|
If you are failing basicIntegrity (SafetyNet) or MEETS_BASIC_INTEGRITY (Play Integrity) something is
|
||||||
|
17
changelog.md
17
changelog.md
@ -1,11 +1,10 @@
|
|||||||
# v13.1
|
# v13.2
|
||||||
|
|
||||||
For normal users:
|
- Added SECURITY_PATCH field.
|
||||||
- Custom props! You can edit them in file 'pif.prop'
|
- Ignore null and empty fields.
|
||||||
|
|
||||||
For devs:
|
We have a Telegram channel!
|
||||||
- Source code published again.
|
If you want to share your knowledge join:
|
||||||
- Drop support for emulators (x86 and x86_64).
|
https://t.me/playintegrityfix
|
||||||
- Use ShadowHook instead Dobby.
|
|
||||||
- Updated libcxx.
|
Also, if Google blacklist the fingerprint (again), you can post your custom pif.prop and I will update the module.
|
||||||
- 'classes.dex' is back to module folder instead hardcoding it in libs.
|
|
33
module/META-INF/com/google/android/update-binary
Normal file
33
module/META-INF/com/google/android/update-binary
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/sbin/sh
|
||||||
|
|
||||||
|
#################
|
||||||
|
# Initialization
|
||||||
|
#################
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
# echo before loading util_functions
|
||||||
|
ui_print() { echo "$1"; }
|
||||||
|
|
||||||
|
require_new_magisk() {
|
||||||
|
ui_print "*******************************"
|
||||||
|
ui_print " Please install Magisk v20.4+! "
|
||||||
|
ui_print "*******************************"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# Load util_functions.sh
|
||||||
|
#########################
|
||||||
|
|
||||||
|
OUTFD=$2
|
||||||
|
ZIPFILE=$3
|
||||||
|
|
||||||
|
mount /data 2>/dev/null
|
||||||
|
|
||||||
|
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
|
||||||
|
. /data/adb/magisk/util_functions.sh
|
||||||
|
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
|
||||||
|
|
||||||
|
install_module
|
||||||
|
exit 0
|
1
module/META-INF/com/google/android/updater-script
Normal file
1
module/META-INF/com/google/android/updater-script
Normal file
@ -0,0 +1 @@
|
|||||||
|
#MAGISK
|
10
module/customize.sh
Normal file
10
module/customize.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Android < 8.0
|
||||||
|
if [ "$API" -lt 26 ]; then
|
||||||
|
abort "!!! You can't use this module on Android < 8.0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if safetynet-fix is installed
|
||||||
|
if [ -d "/data/adb/modules/safetynet-fix" ]; then
|
||||||
|
ui_print "! safetynet-fix module will be removed"
|
||||||
|
touch "/data/adb/modules/safetynet-fix/remove"
|
||||||
|
fi
|
7
module/module.prop
Normal file
7
module/module.prop
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
id=playintegrityfix
|
||||||
|
name=Play Integrity Fix
|
||||||
|
version=v13.2
|
||||||
|
versionCode=132
|
||||||
|
author=chiteroman
|
||||||
|
description=Fix CTS profile (SafetyNet) and DEVICE verdict (Play Integrity).
|
||||||
|
updateJson=https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/update.json
|
7
module/pif.prop
Normal file
7
module/pif.prop
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
PRODUCT=bullhead
|
||||||
|
DEVICE=bullhead
|
||||||
|
MANUFACTURER=Google
|
||||||
|
BRAND=Google
|
||||||
|
MODEL=Nexus 5X
|
||||||
|
FINGERPRINT=google/bullhead/bullhead:8.0.0/OPR6.170623.013/4283548:user/release-keys
|
||||||
|
SECURITY_PATCH=2018-01-01
|
9
module/post-fs-data.sh
Normal file
9
module/post-fs-data.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Remove Play Services from the Magisk Denylist when set to enforcing.
|
||||||
|
if magisk --denylist status; then
|
||||||
|
magisk --denylist rm com.google.android.gms
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if safetynet-fix is installed
|
||||||
|
if [ -d "/data/adb/modules/safetynet-fix" ]; then
|
||||||
|
touch "/data/adb/modules/safetynet-fix/remove"
|
||||||
|
fi
|
46
module/service.sh
Normal file
46
module/service.sh
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# Sensitive properties
|
||||||
|
|
||||||
|
maybe_set_prop() {
|
||||||
|
local prop="$1"
|
||||||
|
local contains="$2"
|
||||||
|
local value="$3"
|
||||||
|
|
||||||
|
if [[ "$(getprop "$prop")" == *"$contains"* ]]; then
|
||||||
|
resetprop "$prop" "$value"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Magisk recovery mode
|
||||||
|
maybe_set_prop ro.bootmode recovery unknown
|
||||||
|
maybe_set_prop ro.boot.mode recovery unknown
|
||||||
|
maybe_set_prop vendor.boot.mode recovery unknown
|
||||||
|
|
||||||
|
# Hiding SELinux | Permissive status
|
||||||
|
resetprop --delete ro.build.selinux
|
||||||
|
|
||||||
|
# Hiding SELinux | Use toybox to protect *stat* access time reading
|
||||||
|
if [[ "$(toybox cat /sys/fs/selinux/enforce)" == "0" ]]; then
|
||||||
|
chmod 640 /sys/fs/selinux/enforce
|
||||||
|
chmod 440 /sys/fs/selinux/policy
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Late props which must be set after boot_completed
|
||||||
|
{
|
||||||
|
until [[ "$(getprop sys.boot_completed)" == "1" ]]; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
# SafetyNet/Play Integrity | Avoid breaking Realme fingerprint scanners
|
||||||
|
resetprop ro.boot.flash.locked 1
|
||||||
|
|
||||||
|
# SafetyNet/Play Integrity | Avoid breaking Oppo fingerprint scanners
|
||||||
|
resetprop ro.boot.vbmeta.device_state locked
|
||||||
|
|
||||||
|
# SafetyNet/Play Integrity | Avoid breaking OnePlus display modes/fingerprint scanners
|
||||||
|
resetprop vendor.boot.verifiedbootstate green
|
||||||
|
|
||||||
|
# SafetyNet/Play Integrity | Avoid breaking OnePlus display modes/fingerprint scanners on OOS 12
|
||||||
|
resetprop ro.boot.verifiedbootstate green
|
||||||
|
resetprop ro.boot.veritymode enforcing
|
||||||
|
resetprop vendor.boot.vbmeta.device_state locked
|
||||||
|
}&
|
16
module/system.prop
Normal file
16
module/system.prop
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# RootBeer, Microsoft
|
||||||
|
ro.build.tags=release-keys
|
||||||
|
|
||||||
|
# Samsung
|
||||||
|
ro.boot.warranty_bit=0
|
||||||
|
ro.vendor.boot.warranty_bit=0
|
||||||
|
ro.vendor.warranty_bit=0
|
||||||
|
ro.warranty_bit=0
|
||||||
|
|
||||||
|
# OnePlus
|
||||||
|
ro.is_ever_orange=0
|
||||||
|
|
||||||
|
# Other
|
||||||
|
ro.build.type=user
|
||||||
|
ro.debuggable=0
|
||||||
|
ro.secure=1
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"version": "v13.1",
|
"version": "v13.2",
|
||||||
"versionCode": 131,
|
"versionCode": 132,
|
||||||
"zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.1/PlayIntegrityFix_v13.1.zip",
|
"zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.2/PlayIntegrityFix_v13.2.zip",
|
||||||
"changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md"
|
"changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md"
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user