Skip to content
Snippets Groups Projects
Unverified Commit a728533e authored by chiteroman's avatar chiteroman
Browse files

New update! v13.8

parent 96e201d7
No related branches found
No related tags found
No related merge requests found
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>
\ No newline at end of file
<?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>
\ No newline at end of file
<?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>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
\ No newline at end of file
...@@ -44,7 +44,7 @@ android { ...@@ -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 { ...@@ -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")
}
} }
\ No newline at end of file
...@@ -27,14 +27,14 @@ static void modify_callback(void *cookie, const char *name, const char *value, u ...@@ -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: ...@@ -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: ...@@ -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 {
......
...@@ -2,15 +2,10 @@ We have a Telegram channel! ...@@ -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.
\ No newline at end of file \ No newline at end of file
{ {
"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"
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment