Commit Graph

108 Commits

Author SHA1 Message Date
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 https://github.com/osm0sis/PlayIntegrityFork/commit/539ff7351a2b42dc05ab7243101637bde35dcce6

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 https://github.com/osm0sis/PlayIntegrityFork/commit/2cdee60781d5b24cec9baadaf1a2489318a64751
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
osm0sis 475185c3ee Switch hooking method to Dobby
- Android 14 QPR2 (currently in Beta and due for Stable in March) breaks ShadowHook libc hooking needed for property spoofing
- there are currently no signs of life over at ShadowHook to resolve this despite my reporting it to them over a month ago

Co-authored-by: Nicholas Bissell <thefreeman193@hotmail.com>
Co-authored-by: chiteroman <98092901+chiteroman@users.noreply.github.com>
2024-01-15 23:16:21 -04:00
osm0sis 802c0a7617 Improve logging messages further 2024-01-15 17:18:26 -04:00
osm0sis 9a24cd6f23 Tidy JNI JSON sending/receiving code and logging 2024-01-15 17:05:26 -04:00
osm0sis 22e3a14a6f Refactor VERBOSE_LOGS parsing to directly pass level from Native to Java 2024-01-15 16:36:52 -04:00
osm0sis 24db525cf3 Add advanced Build classes field logging
Co-authored-by: Nicholas Bissell <thefreeman193@hotmail.com>
2024-01-13 14:09:29 -04:00