113 Commits

Author SHA1 Message Date
osm0sis
0a216e0cd9 Switch to improved workaround for Dobby detection 2025-09-03 21:29:04 -03:00
osm0sis
b92e80fbc6 Fix errant Windows line endings 2025-08-30 22:21:27 -03:00
osm0sis
ed8501d857 Rename to spoofVendingFinger, add custom FINGERPRINT support, tidy
0 = disabled
1 = enabled and use FINGERPRINT from json for vending (Play Store)
<string> = enabled and use <string> as FINGERPRINT for vending (Play Store)
2025-08-30 22:07:10 -03:00
gavdoc38
9c6f065bb6 Add advanced setting spoofVendingFingerprint (#38)
spoofVendingFingerprint = 0 / 1

When 0, no impact on Vending
When 1, same FINGERPRINT from custom.pif.json is injected into Vending

Unless spoofVendingSdk is enabled also, in which case FINGERPRINT is not injected since it's not used
2025-08-30 15:02:50 -03:00
simonpunk
ffd8d77d6f Update fixes for detection
- Details for detection and fix: https://github.com/JingMatrix/NeoZygisk/commit/76d54228c7e6fe14cca93338865008946b94f7e
- Ensure no memory leaks related to local references
- With the __cxa_atexit fix, Dobby should not be detected by user apps anymore
2025-08-28 21:54:52 -03:00
Chris Renshaw
c9d4064dfe Update NDK 2025-07-10 21:16:20 -03:00
osm0sis
0a964415f3 Update C++ Standard 2025-07-04 22:36:54 -03:00
osm0sis
f12b85d67f Update Java 2025-07-04 21:42:34 -03:00
osm0sis
39d2610579 Refine proguard rules further
Thanks @TheFreeman193!
2025-06-22 20:38:24 -03:00
Chris Renshaw
89de098a83 Update SDK Build Tools 2025-06-11 10:22:04 -03:00
osm0sis
a7dd416873 Revert "Disable R8 until proguard rules can be reimplemented correctly"
- resolved in 539ff7351a

This reverts commit 2cdee60781.
2025-06-11 01:16:44 -03:00
osm0sis
539ff7351a Fix proguard rules for AGP 8.9.0+
- CustomPackageInfoCreator public methods must now be explicitly kept to avoid spoofSignature crashes documented in 2cdee60781
2025-06-11 01:14:03 -03:00
osm0sis
2cdee60781 Disable R8 until proguard rules can be reimplemented correctly
- most Java classes were being kept fully unoptimized anyway, which should be generally avoided
- AGP 8.9.0-alpha07 is the last where spoofSignature works with R8 enabled, alpha08 and all later AGP results in:
  msg: java.lang.StackOverflowError: stack size 8188KB
  stacktrace: java.lang.StackOverflowError: stack size 8188KB
	at es.chiteroman.playintegrityfix.CustomPackageInfoCreator.createFromParcel(Unknown Source:2)
  [TRUNCATED 3288424 CHARS]
	at es.chiteroman.playintegrityfix.CustomPackageInfoCreator.createFromParcel(Unknown Source:2)
	at android.os.Parcel.readTypedObject(Parcel.java:4025)
	at android.content.pm.IPackageManager$Stub$Proxy.getPackageInfo(IPackageManager.java:4470)
	at android.content.pm.PackageManager.getPackageInfoAsUserUncached(PackageManager.java:10969)
	at android.content.pm.PackageManager.-$$Nest$smgetPackageInfoAsUserUncached(Unknown Source:0)
	at android.content.pm.PackageManager$2.recompute(PackageManager.java:10982)
	at android.content.pm.PackageManager$2.recompute(PackageManager.java:10979)
	at android.app.PropertyInvalidatedCache.query(PropertyInvalidatedCache.java:999)
	at android.content.pm.PackageManager.getPackageInfoAsUserCached(PackageManager.java:10996)
	at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:1215)
	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1448)
	at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1405)
	at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7029)
	at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2262)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8282)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:554)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:885)
2025-06-09 23:03:47 -03:00
Chris Renshaw
7e376e5627 Update libcxx 2025-06-08 01:59:21 -03:00
osm0sis
0d8d090014 Suppress PackageInfo signatures deprecated API warning 2025-05-31 21:51:15 -03:00
osm0sis
0d03f99499 Fix Gradle Task.project execution time deprecation warning 2025-05-31 21:24:48 -03:00
osm0sis
36cc9573ba Update Dobby submodule to JingMatrix fork 2025-05-31 11:27:28 -03:00
osm0sis
d72fc9ee04 Update nlohmann/json submodule to v3.12.0 2025-05-31 11:02:11 -03:00
Chris Renshaw
e858134828 Update HiddenApiBypass 2025-05-16 13:49:22 -03:00
Chris Renshaw
fafaf418e4 Update NDK 2025-04-29 21:59:01 -03:00
Chris Renshaw
e8375a02d1 Update NDK 2025-02-12 23:01:58 -04:00
Nicholas Bissell
11e2629a26 Remove special case for logFields, simplify logs
- Run logFields only when spoofProvider, spoofBuild, or spoofSignature is on
- Simplify log outputs; PS -> Play Store, DG -> DroidGuard
2025-02-08 10:34:11 -04:00
Nicholas Bissell
a52cc16b43 No class loading if Java features disabled
- No longer loads custom classes if not needed for respective packages
- Renames isGmsUnstable to isDroidGuardOrVending
- Removes spoofVendingSdk from migrate/autopif scripts (don't document yet)
- Adds missing setAccessible() call for early return in EntryPointVending.init()
- Adds missing set of spoofSignature -> 0 for vending
2025-02-08 10:34:11 -04:00
Nicholas Bissell
4740d2048d Add spoofVendingSdk to force legacy verdicts from new PI
Squashed: Add spoofVendingSdk for forcing new PI legacy verdicts
Squashed: Move vending SDK spoof to EntryPointVending, replace killgms.sh with killpi.sh
2025-02-08 10:34:11 -04:00
Chris Renshaw
4dbe12ae58 Update HiddenApiBypass 2025-01-27 00:09:49 -04:00
Chris Renshaw
b644573e52 Update SDK Build Tools 2025-01-16 19:23:22 -04:00
Chris Renshaw
abe69d201b Remove unnecessary/unenforced adb prop spoofs 2025-01-05 19:21:13 -04:00
Chris Renshaw
b83de28f0b Update NDK 2024-10-22 18:53:38 -03:00
Chris Renshaw
b10828f199 Update NDK 2024-09-18 23:01:36 -03:00
osm0sis
726aecb2be Add nlohmann/json as submodule 2024-09-18 21:35:00 -03:00
osm0sis
418e7306e3 Fix advanced spoofing always displaying enabled in logs 2024-08-07 14:16:09 -03:00
osm0sis
e9c1ec1d5d Clearer log messages for advanced spoof options 2024-08-03 23:49:14 -03:00
osm0sis
a7c2f348ea Add granular advanced spoofing options 2024-08-02 15:30:52 -03:00
4h9fbZ
a5d9980ea7 Fix Signature Data 2024-08-01 23:42:08 -03:00
4h9fbZ
58db03d596 Implement system signature spoofing 2024-08-01 23:42:08 -03:00
Chris Renshaw
914750104f Update libcxx prefab 2024-07-17 23:36:00 -03:00
Chris Renshaw
1db82e2ccb Update NDK 2024-07-17 23:01:56 -03:00
Wang Han
6d173fb3a1 Use unique project name
This also works around a shamiko bug which will be
fixed later.
2024-07-04 14:29:20 -03:00
Chris Renshaw
7f1bdf69c5 Update NDK 2024-04-24 22:34:18 -03:00
Chris Renshaw
009815692c Update NDK 2024-03-12 01:56:54 -03:00
Chris Renshaw
d620dcdecb Fix CI with AGP 8.3.0 2024-03-09 21:59:52 -04:00
osm0sis
1a7c5103d1 verbose_logs is now verboseLogs
- differentiate all the ways from a BUILD_FIELD_ENTRY and a system.property_entry
- probably better this way in the long run
2024-02-07 22:53:13 -04:00
osm0sis
48014b9450 Revert "Hook uname to spoof kernel release version string"
This reverts commit 7997954f74.

Hook wasn't functional for intercepting the uname call despite many attempted methods, both on .gms and .gms.unstable

See: https://github.com/chiteroman/PlayIntegrityFix/issues/236
2024-02-01 09:37:52 -04:00
osm0sis
9cc8451c90 VERBOSE_LOGS is now verbose_logs
- differentiate advanced settings better from a Build field (all caps) or a System property (has .)
- match new advanced setting uname_release
2024-01-29 13:27:18 -04:00
osm0sis
7997954f74 Hook uname to spoof kernel release version string
Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
2024-01-29 13:15:11 -04:00
osm0sis
0b34f95282 Use app data dir to detect GMS package
Prevent injecting into unrelated apps because apps can use whatever process name. This effectively restores df20bdb but with null checks added to prevent crash.

Reference: topjohnwu/Magisk@07c22cc

Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
Co-authored-by: Wang Han <416810799@qq.com>
2024-01-22 19:34:23 -04:00
Chris Renshaw
63e4c571bf Hide adbd service state since DroidGuard looks at it
- not currently enforced, but play it safe and spoof it by default like with USB state
2024-01-21 00:50:27 -04:00
osm0sis
e2cb4e1523 More logging
Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
2024-01-19 14:44:35 -04:00
Chris Renshaw
e0931c829d Reduce somewhat unnecessary extra Build field spoofing calls
Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
2024-01-16 20:28:28 -04:00
osm0sis
b57f46eed0 Revert "Fix seemingly unnecessary extra Build field spoofing calls"
This reverts commit 05927c60e1.

Seemingly necessary on some ROMs that do their own framework-level spoofing. May our logcats forgive us.
2024-01-16 14:44:29 -04:00