- 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>
- some apps were detecting tampered props from the increased prop_info serial counter using resetprop
- patching doesn't rely on magiskboot hexpatch so should work on KernelSU and APatch as well
- hopefully temporary until all root solutions adopt a patched system_properties repo to fix counters via resetprop
- runs during install/update when an old format file is detected and upgrades it to the current default format which now properly separates Build fields and system properties
- supports all previously used deprecated entries, e.g. BUILD_ID, FIRST_API_LEVEL and VNDK_VERSION
- extracts any missing information for default added fields from the FINGERPRINT
- may also be run manually from command prompt with `sh migrate.sh` or with file explorer app supporting scripts like FX File Explorer
- remove backwards compatibility cruft for all deprecated fields except FIRST_API_LEVEL (for now)
- iterate through all entries with . or * (see next) to allow modifying any matching DroidGuard-checked system property
- allow leading * wildcard to match multiple system properties in one json entry
- add logging levels using VERBOSE_LOGS as the last json entry, with values of 0, 1, 2, 3 or 100
- spoof sys.usb.state to mtp for DroidGuard by default to hide USB Debugging
Co-authored-by: arda99 <arda99@noreply.xdaforums.com>
w: app/build.gradle.kts:50:31: 'getter for buildDir: File!' is deprecated. Deprecated in Java
w: app/build.gradle.kts:51:29: 'getter for buildDir: File!' is deprecated. Deprecated in Java
- very verbose logging (for now)
- combine setProp and setVersionProp into a single universal function
- iterate through all entries to allow modifying any matching android.os.Build or android.os.Build.VERSION field
- add BUILD_ID and VNDK_VERSION support to keep cross-fork API compatibility
- add exceptions for FIRST_API_VERSION (actually DEVICE_INITIAL_SDK_INT) and BUILD_ID (actually ID) for backwards API compatibility
- pif.json is only to be used in building the module if at some point in the future it's safe to include pif.json in the module zip again
- custom.pif.json is still the correct name to use for retaining the custom file through a module update