• Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language
    Shell
  • Created over 5 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Riru

Riru only does one thing, inject into zygote in order to allow modules run their codes in apps or the system server.

All other Riru modules requires Riru.

See https://github.com/RikkaApps/Riru for more details.

Pre-24 modules are no longer supported

All live modules have upgraded to v24+ for a long time.

The goal is to eliminate bad designs due to historical reasons.

If you are module developer, it only takes you less than 1 min to switch to v24+ if your module is already v22.

For users, if you find you cannot install a module (the installer will say Riru is not installed) or a module stop working, it means that such modules have stop updating for at least 4 months.

Note

If you are use other modules that changes ro.dalvik.vm.native.bridge, Riru will not work. (Riru will automatically set it back)

A typical example is, some "optimize" modules changes this property. Since changing this property is meaningless for "optimization", their quality is very questionable. In fact, changing properties for optimization is a joke.

Install from recovery is NOT supported

Many TWRP has broken implementations, which will finally cause Riru and Riru modules "installed" but not working.

Incorrect SELinux rules problem

https://github.com/RikkaApps/Riru/wiki/Explanation-about-incorrect-SELinux-rules-from-third-party-ROMs-cause-Riru-not-working

Changelog

v26.1.4 (2021-12-15)

  • Skip launching Rirud when Zygisk is enabled
  • Fix sonext update during hiding

v26.1.3 (2021-10-08)

  • Call android_create_namespace on Android 8.0+

v26.1.2 (2021-09-04)

  • Speedup Rirud launch
  • Warning about incorrect SELinux policy
  • No warning about Rirud socket closed
  • Use getprogname to detect zygote

v26.1.1 (2021-08-18)

  • Fix reset native bridge

v26.1.0 (2021-08-16)

  • Preload modules parallelly to speedup startup
  • Fix status showing after a soft reboot
  • Fix riru is not loading after a soft reboot
  • Prevent modules from using internal interfaces
  • Stricter authorization of Rirud
  • More accurate loaded status
  • Fix status showing on Huawei and Samsung devices
  • Unshare Rirud

v26.0.5 (2021-08-01)

  • Fix killing parent process

v26.0.4 (2021-07-30)

  • Fix flock not working on some devices

    This is a bug from Magisk's busybox and it will be fixed here. As a workaround, we set SHELL in the script manually.

v26.0.3 (2021-07-27)

  • Reset SELinux context for module files when necessary

    This will not always work since on ROMs with incorrect SELinux rules, the system will reset module file to the incorrect one at the same time

v26.0.2 (2021-07-27)

  • Report if the SELinux context of the module files are incorrect
  • Use Resources for i18n

v26.0.1 (2021-07-18)

  • Remove support for pre-v24 modules (it has been more than 4 months and all live modules have upgraded to v24+)
  • Display status on module description in Magisk (app is removed because of this)
  • Combine rirud with rirud_java
  • Refactor codes

v25.4.4 (2021-05-07)

  • Fix in rare cases "soft boot" causes Riru not working
  • Fix keep allow_install_app flag (#225)

v25.4.3 (2021-05-05)

  • Exit service.sh script
  • Use uid 0 to install app

v25.4.2 (2021-04-15)

  • "Fix" system server injection does not work on Huawei devices by setting ro.maple.enable to 0

v25.4.1 (2021-04-10)

  • Report incorrect SELinux rule [1]
  • Bundle app with the module (Create file /data/adb/modules/riru-core/allow_install_app to allow the module to install the app)

[1] https://github.com/RikkaApps/Riru/wiki/Explanation-about-incorrect-SELinux-rules-from-third-party-ROMs-cause-Riru-not-working

v25.3.4 (2021-03-24)

  • Unload API 25+ modules in the app process if the module does not provide related functions
  • Don't use temporary buffers when parsing PID maps in pmparser (#202)
  • Use self-compiled libcxx (https://github.com/topjohnwu/libcxx)

v25.3.3 (2021-03-22)

  • Fix crash on Android 8.0 again

Important changes from the last stable version (v23.9)

  • Unify the Riru API version and Riru version, Riru 25 stands for API version 25
  • For modules that have adapted Riru API 24+, lib files are loaded from the Magisk path directly, they don't need to be mounted to /system anymore
  • Support unload self and modules, leaving no trace for unrelated processes (requires module changes)
  • Support remove self and modules from dl_iterate_phdr
  • /data/adb/riru/modules is no longer used, you can remove it when all modules are updated to Riru API 24+

v25.3.2 (2021-03-22)

  • New way to get realpath on old systems
  • Fix next offset on Android 9

v25.3.1 (2021-03-20)

  • Fix crash on Android 8

v25.3.0 (2021-03-20)

  • Support remove self and modules from dl_iterate_phdr now works for all Android versions

v25.2.0 (2021-03-17)

  • Always clear name from dl_iterate_phdr
  • Fix reset native bridge is broken since v24.0.0
  • Continue to reduce the file size (down to less than 200K now)

v25.0.0 (2021-03-16)

  • Support unload self and modules, leaving no trace for unrelated processes (requires module changes)
  • Support remove self and modules from dl_iterate_phdr (requires Android 8.0+)
  • Use a new way to bypass dlopen path limitation

v24.1.2 (2021-03-13)

  • Don't attempt to run hide for webview_zygote on pre-29

v24.1.1 (2021-03-13)

  • Hide is enabled by default and cannot be disabled
  • Hide works on pre-29 without extra SELinux rule

Since v24 starts to load so files directly from the Magisk path (/sbin or /dev), it's highly possible to trigger anti-cheat from games, so hide is a must.

v24.1.0 (2021-03-12)

  • Hide names from dl_iterate_phdr

v24.0.1 (2021-03-11)

  • Fix pre-v24 modules installation

v24.0.0 (2021-03-11)

  • Unify the Riru API version and Riru version, now the API version is 24
  • For modules that have adapted Riru API 24, lib files are loaded from the Magisk path directly, they don't need to be mounted to /system anymore
  • /data/adb/riru/modules is no longer used, you can remove it when all modules are update to Riru API 24
  • Use git commit count as version code
  • Remove fallback SELinux rules, if rirud is not started, it's highly possible that the booting processes of Magisk is totally broken on your device

v23.9 (59) (2021-03-06)

  • Fix crash when JVM reuses reference index on devices with libnativehelper_lazy (libnativehelper_lazy may come in Android 12 DP2 or later) (by LSPosed devs)

v23.8 (58) (2021-03-05)

  • Fix a problem that only exists on 32-bit devices

v23.7 (57) (2021-03-01)

  • Prepare for changes brought by libnativehelper_lazy (these changes may come in Android 12 DP2 or later)
  • Fix symbols are incorrectly exported

v23.6 (56) (2021-02-21)

  • Continue reduce the file size
  • Works on devices that have dropped 32-bit support (Android 12 emulator or devices in the future)

v23.5 (55) (2021-02-11)

  • Reduce the file size

v23.4 (54) (2021-01-23)

  • Ensure auto restart works

v23.3 (53) (2021-01-13)

  • Ensure auto restart works

v23.2 (52) (2021-01-02)

  • Add /data/adb/riru/util_functions.sh for module installer to use
  • Ensure auto restart works

v23.1 (51) (2020-12-18)

  • Restart zygote even for the first time (for "broken environment", such as modules are loaded after than zygote is started)
  • Hide should work for pre-Android-10
  • Prevent crash caused by hiding failure

v23.0 (49) (2020-12-02)

  • Add read file & read dir function for "rirud". Modules can use this to read files that zygote itself has no permission to access.

v22.4 (46) (2020-11-26)

Magisk's sepolicy.rule does not work on some devices and no one report to Magisk 😒. Versions from 22.1 to 22.4 attempt to workaround it.

  • Add a socket runs under u:r:zygote:s0 context to handle all file operations from zygote (Riru)
  • For Magisk < v21.1, reboot twice is no longer required

v22.0 (41) (2020-10-09)

Riru v22 has a new hide mechanism which makes detection "not that easy".

Because of this, all modules must change. If your module hasn't updated, ask the module developer to make changes. For 99% modules, this is super easy.

Before Magisk v21.1, you have to manually reboot the device twice.

v21.3 (36) (2020-07-01)

  • Support custom ROMs with isTopApp changes backported (#106)

v21.2 (35) (2020-05-08)

  • Works on Android R DP4

v21.1 (34) (2020-04-28)

  • Generate a random name for libmemtrack_real to temporarily make SafetyNet happy (this can't work for long)

v21.0 (33) (2020-04-24)

  • Works on Android R DP3

v20.1 (32) (2020-04-21)

  • Works on Android R DP2

v19.8 (30)

  • Fix install script for x86 (#91)
  • Allow uid 1000 to access /data/misc/riru

v19.7 (29)

  • Support Samsung Q with "usap" enabled (this should happens only on custom ROMs?)

v19.6 (28)

  • Support Samsung Q
  • Copy libmemtrack.so in post-fs-data.sh
  • Upgrade to the latest module format

v19.5 (27)

  • Verify important files on install (2019/10/29)
  • Fix #58

v19.4 (26)

  • Fix bug

v19.3 (25)

  • Fix not work on Android Q Beta 5 (if "process pool" enabled)
  • Remove jniRegisterNativeMethods hook when entering the app process

v19 (21)

  • Always reset module files SELinux in case

v19 (20)

  • Support Android Q Beta 3 (all modules need to be upgraded)

More Repositories

1

MagiskHidePropsConf

This tool is now dead...
Shell
1,979
star
2

busybox-ndk

busybox-ndk
Shell
892
star
3

movecert

movecert
Shell
663
star
4

wifi-bonding

Double your bandwith on your Qualcomm devices.
Shell
582
star
5

submission

Submit your Magisk Modules!
559
star
6

HideNavBar

Shell
498
star
7

adb-ndk

adb-ndk
Shell
457
star
8

ViPER4Android-FX

Shell
404
star
9

G-VisualMod

Systemlessy customize your Android's Visual
Shell
393
star
10

v2ray

v2ray core
Shell
331
star
11

callrecorder-skvalex

callrecorder-skvalex
Shell
326
star
12

energizedprotection

Energized Protection Magisk Module.
Shell
321
star
13

terminal_systemizer

terminal_systemizer
Shell
317
star
14

acc

Upstream repo:
Shell
317
star
15

KaliNethunter

KaliNethunter
Shell
298
star
16

Detach

Detach
Shell
249
star
17

com.piyushgarg.rclone

Shell
247
star
18

terminal_debloater

terminal_debloater
Shell
229
star
19

OneController

Magisk module which adds proper key mapping for various game controllers.
Shell
209
star
20

riru_lsposed

Shell
203
star
21

twrp-keep

twrp-keep
Shell
195
star
22

ssh

ssh
Shell
175
star
23

xmlpak

Shell
175
star
24

mm

mm
Shell
157
star
25

Fdroid-Priv

Fdroid-Priv
Shell
128
star
26

nano-ndk

nano-ndk
Shell
127
star
27

xposed

Shell
126
star
28

ainur_narsil

Sauron audiomod developed with many experimental tweaks to squeeze more from your device in terms of sound
Shell
124
star
29

CloudflareDNS4Magisk

CloudflareDNS4Magisk
Shell
120
star
30

Pix3lify

Pix3lify
Shell
115
star
31

ccbins

Shell
109
star
32

liboemcryptodisabler

liboemcryptodisabler
Shell
109
star
33

acp

acp
Shell
98
star
34

ainur_jamesdsp

ainur_jamesdsp
Shell
81
star
35

riru_edxposed

Shell
77
star
36

IPControl

IPControl
Shell
74
star
37

adreno-dev

adreno-dev
Shell
72
star
38

ARCore_enabler

Shell
72
star
39

callrecorder-axet

Magisk module for installing axet's Call Recorder app
Shell
71
star
40

microG_installer

Go here ->
Shell
70
star
41

zipsigner

zipsigner
Shell
69
star
42

benchkit

A developer-centric toolkit module for Android to facilitate in-depth profiling and benchmarking.
Shell
67
star
43

GoogleDialerFramework

GoogleDialerFramework
Shell
65
star
44

riru_storage_redirect

Storage Isolation (Storage Redirect) is an app which provides isolated storage feature for apps. It can prevent poor-designed apps making your storage messy and let you control files app can access.
Shell
61
star
45

magisk-drm-disabler

Read-only mirror from GitLab. A Magisk module designed to disable DRM completely on Android
Shell
60
star
46

magisk-frida

You are probably looking for: https://github.com/ViRb3/magisk-frida
55
star
47

mtd-ndk

mtd-ndk
Shell
53
star
48

terminalmods

terminalmods
Shell
52
star
49

aml

aml
Shell
51
star
50

ExSDCard

ExSDCard
Shell
49
star
51

active_edge_system_mod

Active Edge Mod for Pixel devices
Shell
48
star
52

NfcScreenOff

Read NFC tags when screen is off. Disable NFC tagging sound.
Shell
47
star
53

CloudflareDNS4Magisk-IPv6

CloudflareDNS4Magisk-IPv6
Shell
45
star
54

wirelessFirmware

wirelessFirmware
Shell
44
star
55

djs

Daily Job Scheduler
Shell
43
star
56

BluetoothLibraryPatcher

Shell
43
star
57

hidden_settings

Shell
38
star
58

quickstepswitcher

Shell
36
star
59

WDAnimationcxair

Boot and Shut animation switcher Magisk Module for any supported android device
Shell
32
star
60

twrp-helper

A Magisk module to provide dynamic, in-situ patching of a device's TWRP recovery image to include Internal Storage in Data back-ups.
Shell
31
star
61

ViPER4AndroidFX-Legacy

ViPER4AndroidFX Legacy
Shell
31
star
62

Oxy-ify

Oxy-ify
Shell
30
star
63

airmusic

airaudio
Shell
30
star
64

noneDisplayCutout

Shell
29
star
65

nexusmedia

nexusmedia
Shell
26
star
66

sony-device-dummy

sony-device-dummy
Shell
25
star
67

overlayfix

Shell
23
star
68

vold-posix

vold-posix
Shell
23
star
69

foxy-boot

Shell
22
star
70

miracast-enabler

Magisk module to re-enable Mircast on certain android devices
Shell
22
star
71

Systemless_TZData

Systemless_TZData
Shell
21
star
72

PIXELARITY

Contains pixel exclusives, fix and tweaks to boost user experience on devices running Android 9/10
Shell
20
star
73

sqlite3

sqlite3
Shell
20
star
74

adreno-630-gpu-driver

Original repo at:
Shell
19
star
75

HEVCEnabler

HEVCEnabler
Shell
16
star
76

riru_location_report_enabler

A module of Riru. Enable Google location report and Google app timeline by hook __system_property_get in specific packages.
Shell
13
star
77

libsecure_storage

This Magisk module contains modified libsecure_storage.so libraries that allow rooted Samsung to function without losing Bluetooth pairings after a reboot.
Shell
13
star
78

disable-screenshot-camera-sounds

disable-screenshot-camera-sounds
Shell
13
star
79

com.catchingnow.icebox

Shell
12
star
80

wifi5ghzdisabler

Magisk module to disable WiFi 5Ghz Band on your Qualcomm device
Shell
11
star
81

apt-x

apt-x
Shell
10
star
82

ctenabler

Shell
9
star
83

disable-mdnsd

Shell
9
star
84

zsh_arm64

Shell
9
star
85

sonymusic

Shell
8
star
86

tcpdump_static_aarch64

Shell
8
star
87

oosbar

Shell
8
star
88

AppOpsPlugin

Shell
8
star
89

ASUS-Style-Suite

ASUS-Style-Suite
Shell
7
star
90

OneUISounds

One UI system sounds
Shell
7
star
91

logcat

Shell
7
star
92

aospill

Shell
7
star
93

motoclockwidget

motoclockwidget
Shell
7
star
94

xposed_dalvik

Shell
7
star
95

miui-10-sounds

Shell
6
star
96

ViPER4AndroidXHiFi

ViPER4AndroidXHiFi
Shell
6
star
97

HideGesBar

Shell
4
star
98

PS4RE

Shell
4
star
99

kfmark

Shell
2
star