116 Commits

Author SHA1 Message Date
Danny Lin f79e5cc37e version: 2.3.1 v2.3.1 2022-06-27 02:58:11 -07:00
Danny Lin 532a92a0b6 zygisk: Clarify unloading in non-GMS processes 2022-06-27 02:41:09 -07:00
Danny Lin ebc54d8ccd zygisk: Fix unnecessary string copy 2022-06-27 02:40:35 -07:00
Danny Lin 27a8138b7c changelog: Only keep latest version
Thanks to @osm0sis for pointing out the 1000-character limit.
2022-06-27 02:37:38 -07:00
Danny Lin c864c41130 github: Fix typo in issue template 2022-06-27 02:36:19 -07:00
Danny Lin b4ee04be71 zygisk: Fix entry point class name
This was missed in the refactor.
2022-06-27 02:31:53 -07:00
Danny Lin 57b726c260 readme: Rewrite, split details for developers 2022-03-12 21:05:44 -08:00
Danny Lin 0a69b10b3c github: Add issue template for bug reports 2022-03-12 20:51:46 -08:00
Danny Lin b3893d32f3 magisk: Allow limited installation on Android 7 and older
Key attestation was introduced in Android 7.0, but Android 7.x doesn't
have InMemoryDexClassLoader so our Zygisk module is incompatible.

In general, users on such old versions of Android don't need to bypass
hardware-backed attestation (which isn't even applicable on Android 6
and older), so allow them to install the module without the Zygisk part.

Closes #156.
2022-03-12 20:40:53 -08:00
Danny Lin db27e80080 java: Rename package to safetynetfix
This is no longer using Riru.
2022-03-12 20:27:52 -08:00
Danny Lin 2bcb2ff9a7 java: Simplify exception handling in entry point 2022-03-12 20:26:52 -08:00
Danny Lin 0058654541 java: SecurityBridge -> SecurityHooks 2022-03-12 20:26:15 -08:00
Danny Lin 769fa05817 java_module: Rename to java
I named this "java_module" to avoid confusion with app/src/main/java,
but there's no need to be so verbose.
2022-03-10 22:16:04 -08:00
Chris Renshaw 55f892fb88 magisk: fix Oppo fingerprint reader issues
- move ro.boot.vbmeta.device_state to late props since any earlier appears to break Oppo (ColorOS/OOS12) fingerprint readers

Thanks @MlgmXyysd

Fixes #157
2022-03-10 17:40:57 -08:00
ip 0f3551497c Only remove gms if Denylist is enforced
Originally Magisk required the Denylist to be enforced to access the Denylist.
When enforced, Magisk is unloaded while the processes on the Denylist are called.

Now you can access the Denylist when it is not enforced.
Since Magisk runs normally when not enforced, the Denylist is just a list.

No need to remove 'gms' from the Denylist when it is not enforced.
2022-03-10 17:33:21 -08:00
benjibobs 7238dd7caa Add CHANGELOG.md 2022-02-07 22:09:56 -08:00
benjibobs bc49da291a Support update.json Magisk update checker 2022-02-07 22:09:56 -08:00
Danny Lin e5064fff03 readme: Update for stable Magisk v24 release 2022-01-30 05:50:20 -08:00
Chris Renshaw d2676e1232 magisk: Add circumvention of OnePlus' oem unlock counter
- I recently discovered `ro.is_ever_orange` on OOS 11, which gets set roughly 32 seconds after boot completed and is equal to the number of times a device has ever been `fastboot oem unlock`ed
- a fresh MSM (i.e. factory locked device) has it set to 0, and using system.prop to set it to 0 earlier in the boot seems to keep it set to 0 instead of the real unlock count
- I haven't seen this exploited anywhere, though I presume it exists for a reason, so probably good to manage it as well
2021-12-24 15:54:02 -08:00
Danny Lin dd5f49ec58 Bump version to 2.2.1 v2.2.1 2021-12-22 18:59:01 -08:00
Danny Lin 953a2cc560 readme: Update Android version constraint 2021-12-21 15:42:51 -08:00
Danny Lin 8ea2649fa0 customize: Prevent installation on Android 7.x and older
Android 7.x lacks the InMemoryDexClassLoader API, which is necessary for
the module to load Java code, and is unlikely to support hardware
attestation on any production devices anyway.

Fixes #124, #127
2021-12-21 15:40:57 -08:00
Danny Lin 09332546b0 readme: Clarify definition of "basic" attestation
Fixes #101
2021-12-21 15:40:45 -08:00
osm0sis 3a3f95b696 magisk: fix Realme fingerprint reader issues
- move ro.boot.flash.locked to late props since any earlier appears to break Realme fingerprint readers

Thanks @byxiaorun for finding the problem prop, and @Jowat97 for testing
2021-12-21 15:15:28 -08:00
Danny Lin 8de1265927 readme: Update for 2.1.2 and 2.2.0 releases 2021-11-15 22:13:12 -08:00
Danny Lin 5308a0a57f zygisk: Remove template readme 2021-11-15 22:02:55 -08:00
Danny Lin d235d134b7 Bump version to 2.2.0 v2.2.0 2021-11-15 22:01:19 -08:00
Danny Lin ff588c1cc3 zygisk: Use more auto types 2021-11-15 22:01:19 -08:00
Danny Lin bc27f2211b magisk: Remove Play Services from DenyList earlier
This ensures that GMS will never start before it's removed from the
DenyList, even if another module's service.sh is blocking our script.

Suggested-by: osm0sis <osm0sis@outlook.com>
2021-10-30 23:49:23 -07:00
Danny Lin daefe159e3 zygisk: Always unload from system_server 2021-10-30 19:48:37 -07:00
Danny Lin 69e2aae3d8 zygisk: Inject payload after specialization 2021-10-30 19:48:37 -07:00
Danny Lin cd84bf361f magisk: Remove Play Services from DenyList
The Zygisk module will never load if GMS is in the DenyList. Instead, we
have the module force-enable DenyList unmounting after forking.
2021-10-30 18:43:15 -07:00
Danny Lin b1b839555f magisk: Fix service.sh permissions 2021-10-30 18:43:15 -07:00
Danny Lin 2079674e3e zygisk: Separate path classes.dex into constant 2021-10-30 18:40:02 -07:00
Danny Lin 8015d36786 Remove Riru implementation
Zygisk is now the primary implementation of this module.

NB: The Zygisk module template is in the public domain, so attribution
is no longer needed in the license.
2021-10-30 18:33:29 -07:00
Danny Lin b6508f642d build: Update for Zygisk + new Magisk template 2021-10-30 17:51:55 -07:00
Danny Lin abfe8ff162 magisk: Add new module template
Mostly copied from riru/template/magisk_module.
2021-10-30 17:51:53 -07:00
Danny Lin fc5937bec0 zygisk: Initial module implementation
- Ported from Riru implementation
- Limited Java payload to com.google.android.gms.unstable as a fix for
  issues caused by model misdetection and flag provisioning
- Root companion process to serve classes.dex over socket
- Forces DenyList unmounting to pass basicIntegrity
2021-10-30 17:50:50 -07:00
Danny Lin 168abee7bc zygisk: Import Zygisk module template 2021-10-30 17:50:50 -07:00
Max Rumpf ffbe35af33 Use constant for name when removing real provider 2021-10-16 17:21:00 -07:00
Danny Lin d4cee49c57 Bump version to 2.1.1 v2.1.1 2021-09-15 09:06:38 -07:00
Danny Lin 9637d54829 Merge pull request #90 from osm0sis/master
magisk: fix OnePlus display issues, reorganize props
2021-09-15 09:02:07 -07:00
osm0sis f09cb3dd6e magisk: fix OnePlus display issues, reorganize props
- vendor.boot.verifiedbootstate was a "late_prop" in MagiskHide so needs to be set at boot_completed; this works around OnePlus display mode and in-display fingerprint reader breakage when this prop is reset to green earlier in the boot
- tidy up prop groupings and document them a bit more
2021-09-14 02:16:08 -03:00
Danny Lin fdc055e729 Remove and ignore files created by VS Code Java Language Server
These files were accidentally added and tracked, but they shouldn't be.
2021-09-13 20:03:18 -07:00
Danny Lin 8334f3218a Bump version to 2.1.0 v2.1.0 2021-09-13 19:55:12 -07:00
Danny Lin 04c3beeee9 magisk: Extract system.prop from zip
Reported-by: Didgeridoohan <github@heptadecagon.one>
2021-09-13 19:55:12 -07:00
Danny Lin cb3b29fe92 readme: Add installation section 2021-09-13 19:54:25 -07:00
Danny Lin 5343ec53f6 readme: Refactor for public 2.1.0 release 2021-09-13 19:54:25 -07:00
Danny Lin 791884862a magisk: Add service script for MagiskHide device indicators
This functionality has been removed from Magisk:
https://github.com/topjohnwu/Magisk/commit/003fea52b1857015bfc3988de56eb1a6d3049a7f

Simple properties are set in system.prop, but more advanced overrides
need to be handled by a script.
2021-09-06 04:05:41 -07:00
Danny Lin bcf9a767c4 magisk: Add properties from MagiskHide
These properties have been removed from Magisk:
https://github.com/topjohnwu/Magisk/commit/003fea52b1857015bfc3988de56eb1a6d3049a7f

Based on this module's old system.prop before it was removed in the Riru
rewrite.
2021-09-06 04:05:41 -07:00