Commit Graph

102 Commits

Author SHA1 Message Date
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 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 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 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 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:
003fea52b1

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:
003fea52b1

Based on this module's old system.prop before it was removed in the Riru
rewrite.
2021-09-06 04:05:41 -07:00
Danny Lin
482f0450d5
readme: Update for model name spoofing 2021-09-06 03:46:43 -07:00
Danny Lin
2f56b7320c
java: Append space character to device model name
This bypasses Google's new device-based hardware attestation enforcement
as of September 2, 2021.
2021-09-06 03:43:04 -07:00
Danny Lin
35d705eb8a
java: Ignore all Android Studio project data 2021-09-06 03:40:22 -07:00
Danny Lin
785504522d
Bump version to 2.0.0 2021-09-06 03:28:43 -07:00
Danny Lin
c83f9aff47
java: Disable debugging
TODO: Integrate with the build system while keeping R8 enabled
2021-09-06 03:20:46 -07:00
Danny Lin
fd2fd32f83
Merge branch 'riru'
This is the Riru version of this module, which improves upon the old
solution of replacing the native keystore service:
  - Compatible with OEM ROMs that have heavily-modified keystore services
  - Doesn't break other uses of key attestation in Google Play Services
2021-09-06 03:16:37 -07:00
Danny Lin
69d6763e8e
readme: Update for Riru version 2021-09-06 03:16:11 -07:00
Danny Lin
3290f9e82d
Indicate support for Android 7 2021-09-06 03:01:35 -07:00
Danny Lin
025c1e95dd
riru: Add module.gradle to Git repo
This exclusion only makes sense for the template.
2021-09-06 03:00:10 -07:00
Danny Lin
dc40c71b0b
riru: Improve comments and refactor 2021-09-06 02:58:25 -07:00
Danny Lin
048c78f1a3
riru: Remove unused DEBUG constant
We're using macros instead.
2021-09-06 02:39:17 -07:00
Danny Lin
2f012bfed5
Unify log tags 2021-09-06 02:39:17 -07:00
Danny Lin
8026279d03
Remove system.prop from root
This isn't currently being added to the module.
2021-09-06 02:39:17 -07:00
Danny Lin
61f0eb6a50
Add integrated build script 2021-09-06 02:39:17 -07:00