New update! v13.8

This commit is contained in:
chiteroman 2023-11-27 14:18:58 +01:00
parent 96e201d786
commit a728533ed6
No known key found for this signature in database
GPG Key ID: 15FF53015D426D8E
11 changed files with 19 additions and 80 deletions

3
.idea/.gitignore vendored
View File

@ -1,3 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/app/src/main/cpp/stlsoft/stlsoft/stlsoft.h" charset="windows-1252" />
</component>
</project>

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<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>

View File

@ -1,10 +0,0 @@
<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>

View File

@ -1,9 +0,0 @@
<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>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -44,7 +44,7 @@ android {
} }
} }
afterEvaluate { tasks.register("copyFiles") {
val moduleFolder = project.rootDir.resolve("module") val moduleFolder = project.rootDir.resolve("module")
val dexFile = project.buildDir.resolve("intermediates/dex/release/minifyReleaseWithR8/classes.dex") val dexFile = project.buildDir.resolve("intermediates/dex/release/minifyReleaseWithR8/classes.dex")
val soDir = project.buildDir.resolve("intermediates/stripped_native_libs/release/out/lib") val soDir = project.buildDir.resolve("intermediates/stripped_native_libs/release/out/lib")
@ -56,13 +56,17 @@ afterEvaluate {
val destination = moduleFolder.resolve("zygisk/$abiFolder.so") val destination = moduleFolder.resolve("zygisk/$abiFolder.so")
soFile.copyTo(destination, overwrite = true) soFile.copyTo(destination, overwrite = true)
} }
tasks["assembleRelease"].dependsOn("module")
} }
tasks.register<Zip>("module") { tasks.register<Zip>("zip") {
archiveFileName.set("PlayIntegrityFix.zip") archiveFileName.set("PlayIntegrityFix.zip")
destinationDirectory.set(project.rootDir.resolve("out")) destinationDirectory.set(project.rootDir.resolve("out"))
from(project.rootDir.resolve("module")) from(project.rootDir.resolve("module"))
}
afterEvaluate {
tasks.named("assembleRelease") {
dependsOn("copyFiles", "zip")
}
} }

View File

@ -27,14 +27,14 @@ static void modify_callback(void *cookie, const char *name, const char *value, u
std::string_view prop(name); std::string_view prop(name);
if (prop.ends_with("api_level")) { if (prop.ends_with("api_level")) {
if (FIRST_API_LEVEL == "NULL") { if (FIRST_API_LEVEL == "nullptr") {
value = nullptr; value = nullptr;
} else { } else {
value = FIRST_API_LEVEL.c_str(); value = FIRST_API_LEVEL.c_str();
} }
LOGD("[%s] -> %s", name, value); LOGD("[%s] -> %s", name, value);
} else if (prop.ends_with("security_patch")) { } else if (prop.ends_with("security_patch")) {
if (SECURITY_PATCH == "NULL") { if (SECURITY_PATCH == "nullptr") {
value = nullptr; value = nullptr;
} else { } else {
value = SECURITY_PATCH.c_str(); value = SECURITY_PATCH.c_str();
@ -169,7 +169,7 @@ private:
if (json.contains("SECURITY_PATCH")) { if (json.contains("SECURITY_PATCH")) {
if (json["SECURITY_PATCH"].is_null()) { if (json["SECURITY_PATCH"].is_null()) {
SECURITY_PATCH = "NULL"; SECURITY_PATCH = "nullptr";
} else if (json["SECURITY_PATCH"].is_string()) { } else if (json["SECURITY_PATCH"].is_string()) {
SECURITY_PATCH = json["SECURITY_PATCH"].get<std::string>(); SECURITY_PATCH = json["SECURITY_PATCH"].get<std::string>();
} else { } else {
@ -181,7 +181,7 @@ private:
if (json.contains("FIRST_API_LEVEL")) { if (json.contains("FIRST_API_LEVEL")) {
if (json["FIRST_API_LEVEL"].is_null()) { if (json["FIRST_API_LEVEL"].is_null()) {
FIRST_API_LEVEL = "NULL"; FIRST_API_LEVEL = "nullptr";
} else if (json["FIRST_API_LEVEL"].is_string()) { } else if (json["FIRST_API_LEVEL"].is_string()) {
FIRST_API_LEVEL = json["FIRST_API_LEVEL"].get<std::string>(); FIRST_API_LEVEL = json["FIRST_API_LEVEL"].get<std::string>();
} else { } else {

View File

@ -2,15 +2,10 @@ We have a Telegram channel!
If you want to share your knowledge join: If you want to share your knowledge join:
https://t.me/playintegrityfix https://t.me/playintegrityfix
# v13.7 # v13.8
- Removed custom resetprop. Google banned old fingerprints :(
- Removed custom props spoof.
- Removed weird code.
If you want an undetectable resetprop, use Kitsune Magisk. This build has hardcoded the fix into Zygisk native libs like v13.0.
If you want to spoof your own props, modify the props in source code and build by yourself.
Or you can use unstable build, you can download in GitHub repo.
Should work and don't crash nothing.
I recommend to clear GMS data and cache before reboot. You can't use pif.json or pif.prop files to spoof custom props.

View File

@ -1,6 +1,6 @@
{ {
"version": "v13.7", "version": "v13.8",
"versionCode": 137, "versionCode": 138,
"zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.7/PlayIntegrityFix_v13.7.zip", "zipUrl": "https://github.com/chiteroman/PlayIntegrityFix/releases/download/v13.8/PlayIntegrityFix_v13.8.zip",
"changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md" "changelog": "https://raw.githubusercontent.com/chiteroman/PlayIntegrityFix/main/changelog.md"
} }