mirror of
https://github.com/chiteroman/PlayIntegrityFix.git
synced 2025-01-19 11:02:20 +08:00
v13.6
This commit is contained in:
parent
cc4a2536a0
commit
bed9055fd3
@ -204,6 +204,10 @@ static void companion(int fd) {
|
||||
std::filesystem::perms::others_read);
|
||||
}
|
||||
|
||||
if (!std::filesystem::exists(PROP_FILE_PATH)) {
|
||||
std::filesystem::remove(prop);
|
||||
}
|
||||
|
||||
if (std::filesystem::copy_file(PROP_FILE_PATH, prop,
|
||||
std::filesystem::copy_options::overwrite_existing)) {
|
||||
std::filesystem::permissions(prop, std::filesystem::perms::owner_read |
|
||||
|
12
changelog.md
12
changelog.md
@ -2,12 +2,12 @@ We have a Telegram channel!
|
||||
If you want to share your knowledge join:
|
||||
https://t.me/playintegrityfix
|
||||
|
||||
Also, if Google blacklist the fingerprint (again), you can post your custom pif.prop and I will update the module.
|
||||
Also, if Google blacklist the fingerprint (again), you can post your custom pif.json and I will update the module.
|
||||
|
||||
# v13.5
|
||||
# v13.6
|
||||
|
||||
- Remove custom resetprop.
|
||||
- Fixes in code.
|
||||
- New code!
|
||||
- Added custom resetprop.
|
||||
|
||||
This module will backup your pif.prop into adb root folder.
|
||||
If you remove this file, module will use default props for attestation.
|
||||
Can read a custom pif.json file to spoof device props.
|
||||
Example file: module/pif.json on GitHub repo.
|
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
|
BIN
module/bin/arm64-v8a/resetprop
Normal file
BIN
module/bin/arm64-v8a/resetprop
Normal file
Binary file not shown.
BIN
module/bin/armeabi-v7a/resetprop
Normal file
BIN
module/bin/armeabi-v7a/resetprop
Normal file
Binary file not shown.
BIN
module/bin/x86/resetprop
Normal file
BIN
module/bin/x86/resetprop
Normal file
Binary file not shown.
BIN
module/bin/x86_64/resetprop
Normal file
BIN
module/bin/x86_64/resetprop
Normal file
Binary file not shown.
20
module/customize.sh
Normal file
20
module/customize.sh
Normal file
@ -0,0 +1,20 @@
|
||||
# Error on < Android 8
|
||||
if [ "$API" -lt 26 ]; then
|
||||
abort "!!! You can't use this module on Android < 8.0."
|
||||
fi
|
||||
|
||||
# safetynet-fix module is incompatible
|
||||
if [ -d "/data/adb/modules/safetynet-fix" ]; then
|
||||
ui_print "!!! safetynet-fix module removed!"
|
||||
touch "/data/adb/modules/safetynet-fix/remove"
|
||||
fi
|
||||
|
||||
# Backup old pif.prop
|
||||
if [ -e "/data/adb/modules/playintegrityfix/pif.prop" ]; then
|
||||
ui_print "- Backup old pif.prop."
|
||||
mv "/data/adb/modules/playintegrityfix/pif.prop" "/data/adb/pif.prop.old"
|
||||
fi
|
||||
|
||||
# use our resetprop
|
||||
mv -f "$MODPATH/bin/$ABI/resetprop" "$MODPATH"
|
||||
rm -rf "$MODPATH/bin"
|
7
module/module.prop
Normal file
7
module/module.prop
Normal file
@ -0,0 +1,7 @@
|
||||
id=playintegrityfix
|
||||
name=Play Integrity Fix
|
||||
version=v13.6
|
||||
versionCode=136
|
||||
author=chiteroman
|
||||
description=Fix CTS profile (SafetyNet) and DEVICE verdict (Play Integrity).
|
||||
updateJson=https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/update.json
|
10
module/pif.json
Normal file
10
module/pif.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"PRODUCT": "taimen",
|
||||
"DEVICE": "taimen",
|
||||
"MANUFACTURER": "Google",
|
||||
"BRAND": "google",
|
||||
"MODEL": "Pixel 2 XL",
|
||||
"FINGERPRINT": "google/taimen/taimen:10/QQ2A.200501.001.B3/6396602:user/release-keys",
|
||||
"SECURITY_PATCH": "2020-05-05",
|
||||
"FIRST_API_LEVEL": "25"
|
||||
}
|
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
|
66
module/service.sh
Normal file
66
module/service.sh
Normal file
@ -0,0 +1,66 @@
|
||||
# Sensitive properties
|
||||
|
||||
RESETPROP="${0%/*}/resetprop"
|
||||
|
||||
chmod 755 $RESETPROP
|
||||
|
||||
check_resetprop() {
|
||||
local NAME=$1
|
||||
local EXPECTED=$2
|
||||
local VALUE=$(resetprop $NAME)
|
||||
[ -z $VALUE ] || [ $VALUE = $EXPECTED ] || $RESETPROP -n $NAME $EXPECTED
|
||||
}
|
||||
|
||||
maybe_set_prop() {
|
||||
local prop="$1"
|
||||
local contains="$2"
|
||||
local value="$3"
|
||||
|
||||
if [[ "$(getprop "$prop")" == *"$contains"* ]]; then
|
||||
$RESETPROP -n "$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
|
||||
|
||||
# Reset props after boot completed to avoid breaking some weird devices/ROMs...
|
||||
{
|
||||
until [[ "$(getprop sys.boot_completed)" == "1" ]]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# SafetyNet/Play Integrity | Avoid breaking Realme fingerprint scanners
|
||||
check_resetprop ro.boot.flash.locked 1
|
||||
|
||||
# SafetyNet/Play Integrity | Avoid breaking Oppo fingerprint scanners
|
||||
check_resetprop ro.boot.vbmeta.device_state locked
|
||||
|
||||
# SafetyNet/Play Integrity | Avoid breaking OnePlus display modes/fingerprint scanners
|
||||
check_resetprop vendor.boot.verifiedbootstate green
|
||||
|
||||
# SafetyNet/Play Integrity | Avoid breaking OnePlus display modes/fingerprint scanners on OOS 12
|
||||
check_resetprop ro.boot.verifiedbootstate green
|
||||
check_resetprop ro.boot.veritymode enforcing
|
||||
check_resetprop vendor.boot.vbmeta.device_state locked
|
||||
|
||||
# RootBeer, Microsoft
|
||||
check_resetprop ro.build.tags release-keys
|
||||
|
||||
# Samsung
|
||||
check_resetprop ro.boot.warranty_bit 0
|
||||
check_resetprop ro.vendor.boot.warranty_bit 0
|
||||
check_resetprop ro.vendor.warranty_bit 0
|
||||
check_resetprop ro.warranty_bit 0
|
||||
|
||||
# OnePlus
|
||||
check_resetprop ro.is_ever_orange 0
|
||||
|
||||
# Other
|
||||
check_resetprop ro.build.type user
|
||||
check_resetprop ro.debuggable 0
|
||||
check_resetprop ro.secure 1
|
||||
|
||||
}&
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": "v13.5",
|
||||
"versionCode": 135,
|
||||
"zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.5/PlayIntegrityFix_v13.5.zip",
|
||||
"version": "v13.6",
|
||||
"versionCode": 136,
|
||||
"zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.6/PlayIntegrityFix_v13.6.zip",
|
||||
"changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md"
|
||||
}
|
Loading…
Reference in New Issue
Block a user