Giter Site home page Giter Site logo

performanc / zygisknext Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dr-tsng/zygisknext

218.0 9.0 17.0 1.1 MB

Transparent implementation of Zygisk.

License: GNU General Public License v3.0

CMake 0.27% C++ 77.40% C 0.32% Python 3.58% Shell 4.86% Rust 13.57%
android injection kernelsu magisk root zygisk zygote apatch

zygisknext's Introduction

ReZygisk

ReZygisk is a fork of Zygisk Next, which is a standalone implementation of Zygisk, providing Zygisk API support for KernelSU, Magisk (besides built-in) and futurely APatch.

It aims at the modernization and re-write of the codebase to C (from C++ and Rust), allowing a more efficient and faster implementation of the Zygisk API with a more permissive license.

Note

This module/fork is WIP, only use .zip from the releases.

Why?

The latest releases of Zygisk Next are not open-source, reserving entirely the code for its developers. Not only that limits our ability to contribute to the project, but also impossibilitates the audit of the code, which is a major concern for security, as Zygisk Next is a module that runs with superuser (root) privileges, having access to the entire system.

The Zygisk Next developers are famous and trusted in the Android community, however this doesn't mean that the code is not malicious or vulnerable. We (PerformanC) understand they have their reasons to keep the code closed-source, but we believe that contrary.

Features

  • FOSS (forever)
  • Better hiding standalone

Dependencies

  • rustc
  • Android NDK

Rust side:

  • android_logger
  • anyhow
  • bitflags
  • const_format
  • futures
  • konst
  • lazy_static
  • libc
  • log
  • memfd
  • num_enum
  • passfd
  • proc-maps

C++ side:

  • lsplt

Installation

WIP, do not install yet.

Usage

WIP

Support

Any question related to ReZygisk or other PerformanC projects can be made in PerformanC's Discord server. You can also find support in ReZygisk Telegram chat or in The PerformanC Organization telegram channel or the chat.

Contribution

It is mandatory to follow the PerformanC's contribution guidelines to contribute to ReZygisk. Following its Security Policy, Code of Conduct and syntax standard.

License

ReZygisk is licensed majoritaly under GPL, by Dr-TSNG, but also BSD 2-Clause License for re-written code. You can read more about it on Open Source Initiative.

zygisknext's People

Contributors

dr-tsng avatar 5ec1cff avatar thepedroo avatar rainyxeon avatar captainthrowback avatar unschooledgamer avatar howard20181 avatar yujincheng08 avatar flouzr avatar ylarod avatar

Stargazers

Smith Huang avatar  avatar NullchaN avatar  avatar  avatar  avatar  avatar Antoine Viallon avatar Md Arif avatar Dev4Mod avatar  avatar みぞれ゚ avatar スケベ avatar MONE FIERA avatar ろむねこ avatar  avatar  avatar Syed Tahseen avatar Esteban Zapata avatar Baidaofu avatar ゆい avatar Egidijus Lileika avatar  avatar  avatar  avatar  avatar Gentle_ty avatar  avatar VD $ VD171 @ Priv8 avatar JamzumSum avatar SheepChef avatar NwN avatar hackcatml avatar  avatar HIMlaoS_Misa avatar Pranav Setpal avatar  avatar  avatar Robert R avatar Maulana Kurniawan avatar Kevin avatar Thomas Lekanger avatar lurenjia avatar Fate (F5T3) avatar  avatar  avatar zixing avatar  avatar  avatar Ihya Fauzi avatar  avatar  avatar Muhammad Fadel Alexander avatar eXense avatar  avatar L avatar  avatar jusan avatar Diobo avatar  avatar  avatar  avatar  avatar  avatar btwoa avatar  avatar Anže Pintar avatar  avatar  avatar Kahpoh avatar  avatar  avatar NoRRt avatar Ayush Sharma avatar  avatar Akina avatar Bocchi avatar  avatar  avatar  avatar  avatar  avatar Marat Budkevich avatar M. Riza Sultan Saputra avatar  avatar Anton avatar Liki4 avatar m0szy avatar Ernie avatar  avatar Iqbal Rifai avatar JingMatrix avatar  avatar command_block avatar  avatar Potat0 avatar Akhmad Syaikhul Hadi avatar Igor avatar Daniel avatar  avatar

Watchers

 avatar NoRRt avatar  avatar Dev4Mod avatar  avatar VD $ VD171 @ Priv8 avatar  avatar Mika avatar  avatar

zygisknext's Issues

[Bug] Can not get ReZygisk daemon version

Steps to reproduce/复现步骤

  1. Open an Terminal application and grants SuperUser privilege.
  2. change directory to /data/adb/modules/zygisksu/bin
  3. run command ./zygiskd64 --version or ./zygiskd32 --version

In my fork Kasumi-Ushio/ReZygisk, reproduce step is as follows:

  1. Add these code to webroot/js/main.js: https://pastebin.mozilla.org/yxqv9Pzo
  2. Build module zips via Github Actions
  3. Flash in KernelSU Manager
  4. Reboot
  5. Open KernelSU Manager, and open WebUI

Expected behaviour/预期行为

Both zygiskd64 and zygiskd32 should return a string like this

ReZygisk daemon v1.0.0-213-2be1ccc-release

Actual behaviour/实际行为

At console, zygiskd64 returns this:

thread 'main' panicked at src/main.rs:36:21:
zygiskd main: environment variable not found
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Aborted

KernelSU Module List/KernelSU 模块列表

zygisksu(ReZygisk)
zygisk_lsposed(LSPosed_mod)
zygisk_shamiko(Shamiko)
zygisk_assistant(Zygisk Assistant)

ReZygisk version/ReZygisk 版本

v1.0.0-225-03cca55-release

Android version/Android 版本

Android 14 UKQ1.230804.001

KernelSU version/KernelSU 版本

ksud 11874

Version requirement/版本要求

  • I am using latest debug CI version of ReZygisk and enable verbose log/我正在使用最新 CI 调试版本 ReZygisk 且启用详细日志

Logs/日志

KernelSU_bugreport_2024-06-28_14_15.tar.gz
This log is fetched when running my fork build, but the behavior is same in ReZygisk's original build.

[FR]: Don't crash daemon when using multiple root implementations

Description

When multiple root implementations are used simultaneously, the Zygisk daemons crash. It would be preferable to allow them to run based on some sort of priority(?) so that Zygisk modules actually still load.

Reason

This will prevent non-working modules for people with custom root setups, without sacrificing functionality.

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Shamiko wont run with rezygisk

Steps to reproduce/复现步骤

Shamiko not run on rezygisk

Expected behaviour/预期行为

Shamiko not run on rezygisk

Actual behaviour/实际行为

Shamiko not run on rezygisk

KernelSU Module List/KernelSU 模块列表

Shamiko

ReZygisk version/ReZygisk 版本

1.0.0

Android version/Android 版本

13

KernelSU version/KernelSU 版本

1.0.0

Version requirement/版本要求

  • I am using latest debug CI version of ReZygisk and enable verbose log/我正在使用最新 CI 调试版本 ReZygisk 且启用详细日志

Logs/日志

Shamiko not run on rezygisk

[BUG]: Magisk shows as no Zygisk and modules show as Zygisk not enabled after flashing and rebooting

Version

ReZygisk-v1.0.0-344-b77aa98-release

Modules

Play Integrity Fork v9
Tricky Store v1.0.3
Zygisk - LSPosed v1.10.0
Zygisk Assistant v2.1.2
Zygisk-Detach v1.18.0

Description

Modules dependent on Zygisk still work fine but show as Module suspended because Zygisk is not enabled. On Magisk home page, Zygisk shows as no.

Using ZygiskNext doesn't have this behaviour.

Using canary version of Magisk v27006

Steps to reproduce

Flash as normal, reboot while having built-in Zygisk disabled in Magisk.

Logs

No response

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[FR]: Hide loaded module from linker solist and somain list

Description

The merge of Reveny's PR (Dr-TSNG#79) into ReZygisk.

Reason

Modules like Shamiko are currently not working, and requires a signed build from Zygisk Next (if any Shamiko dev sees this, feel free to correct me), leaving users with no option if not Shamiko 0.7.5 or FOSS Zygisk Assistant.

However, we can't expect them to use those modules to hide and do nothing in our side, we should try to make the injections as hidden as possible.

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[BUG]: Description changer not adding daemons status

Version

v1.0.0 2017140

Description

The description of the module (in module.prop) should include the status of 64 and 32 bit daemon, but as of now, that is not happening. Also it doesn't include root implementation and modules.

Steps to reproduce

  1. Install ReZygisk
  2. Open root manager
  3. Open modules page

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[BUG]: Completely Kills Lsposed under Apatch

Version

Latest

Modules

Lsposed

Description

Disable Lsposed on boot

Steps to reproduce

Install ReZygisk, or re-enable Lsposed and reboot

Logs

No response

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

WebUI not working on 64 bit only devices

Version

v1.0.0 (319-2e82988-release)

Modules

my translation module with zygisk module version 1.0.0

Description

Error when I open WebUI
Screenshot_2024-07-23-21-34-44-388_me bmax apatch

Steps to reproduce

Open WebUI

Logs

No response

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[BUG]: Invalid Root Implementation On KernelSU 0.9.4

Version

v1.0.0 (240.2bc6c0b-debug)

Description

Zygisk not working, it says Invalid root implementation. Where is the log file location to report?
photo_2024-06-28_23-06-22
photo_2024-06-28_23-07-29

Steps to reproduce

Flash it via KernelSU manager app.

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[Feature Request] APatch support

Version

ReZygisk 678d886

Description

Currently only Magisk and KSU are supported. When installed with APatch ReZygisk throws an error about invalid root implementations.

Screenshot_20240620-094307

Steps to reproduce

  1. Root your phone with APatch
  2. Install ReZygisk via APatch manager
  3. Reboot device
  4. Check logcat and see errors

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Enabling rezygisk in kernelsu breaks samsung's internet browser

Version

1.0.0-279

Modules

None

Description

After enabling the rezygisk module, samsung internet browser starts to freeze and stops opening sites (an empty black window is displayed instead of the site content). Clearing the application data does not solve the problem. The above problems disappear after the module is turned off

Steps to reproduce

1.Download and enable rezygisk module in kernelsu app (the work of magisk and apatch has not been checked)
2. Download(or launch, if you device is samsung and you are use SIB) Samsung Internet Browser
3. Apply reboot
4. Try launch SIB and check his work

Logs

No response

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[FR]: Detection of multiple root implementations

Description

Devices can be rooted with more than one root implementations, even though this is not recommended. The addition of detection allows us to report to the (future) web UI.

Reason

This allows a more user-friendly experience, being as transparent as possible with the informations.

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[BUG]: Shamiko not work

Version

ReZygisk-v1.0.0-205

Description

great work. I use magisk alpha, when installing rezygisk Shamiko it doesn't work. "unsupported environment"

please fix

Steps to reproduce

flash, install, reboot, shamiko not work

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

When multiple Root implementations are installed, they are incorrectly identified as "None" instead of "Multiple"

Version

v1.0.0-225-22e09d4-debug

Modules

LSPosed_mod by pumPCin version 1.9.3 (7527)
zygisk-detach by j-hc version 1.18.0

Description

My boot is patched for both KernelSU (LKM) and APatch. I'm only using KernelSU for root, however, with the su path in APatch set to the KernelSU daemon. Zygisk Next correctly identifies either "Multiple" root implementations (if I leave the APatch su path as stock /system/bin/su), or as only KernelSU with the setup I initially mentioned.

ReZygisk, however, shows this in the log and on the module page:
I/zygiskd64( 1456): zygiskd: current root impl: None

Steps to reproduce

Install multiple root implementations.
Watch zygiskd crash.

Logs

liveboot.log
Screenshot_20240710-114633_KernelSU

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[BUG]: not work in magisk alpha

Version

ReZygisk-v1.0.0-209-4aa8b2f

Description

i flash via magisk alpha, not work

Steps to reproduce

disable zygisk magisk alpha, flash rezygisk, reboot
Screenshot_2024-06-25-09-42-48-225_c ss vtfab wct qiq

Confirmations

  • My environment meets the minimum requirements.
  • I have verified that this is not a duplicate issue.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[FR]: Only update module status in Root Manager if app doesn't support WebUI

Description

KernelSU and APatch Manager apps both support WebUI, so the description doesn't need to include all of the status information for the module that will be available in the WebUI. Only Magisk needs this information because the Magisk apps do not support WebUI

Reason

Will make the UI cleaner and less redundant

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

[FR]: Re-write zygiskd to C99

Description

Currently zygiskd is in Rust, this FR is to track the conversion of it to C99.

Reason

Rust performs (far) worse than C in terms of efficiency, performance. Not only that, but adds unnecessary complexity trying to make the rustc happy, which ends up with a codebase that is harder to mantain.

C99 is a standard that will never change, and ensures it lasts forever, in the other hand, Rust is constantly changing, and requires us to follow up with its design.

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Automatically switch the dark mode

Description

It is hoped that the webUI can automatically switch the dark mode along with the system, instead of manually switching

Reason

automatically switch the dark mode

Confirmations

  • This feature is not already implemented.
  • I have verified that this is not a duplicate feature request.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.