Skip to content

Build Rust-first Zygisk guest runtime - #5

Draft
Zhanfg wants to merge 56 commits into
mainfrom
feature/rust-zygisk-provider
Draft

Build Rust-first Zygisk guest runtime#5
Zhanfg wants to merge 56 commits into
mainfrom
feature/rust-zygisk-provider

Conversation

@Zhanfg

@Zhanfg Zhanfg commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Implements the first executable milestone of the Rust-first Zygisk framework on an isolated feature branch.

Current scope:

  • installable arm64 Magisk/KernelSU-style module ZIP;
  • public Zygisk API v4 guest module;
  • minimal C++ lifecycle and FD adapter only;
  • Rust process policy retaining only com.android.providers.downloads;
  • versioned framed Rust companion protocol;
  • Rust root companion forwarding;
  • persistent Rust daemon and rzctl status CLI;
  • fail-open fallback state file;
  • 16 KiB-compatible Android linker page-size settings;
  • host fmt, Clippy and unit tests plus Android arm64 build CI.

This PR intentionally does not install hooks or modify specialization arguments. Provider-mode Zygote monitoring and injection will follow after Guest mode is validated on-device.

Zhanfg commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

Guest-mode milestone v0.1.0 now builds successfully in GitHub Actions.

Validated:

  • rustfmt normalization: pass
  • Clippy with -D warnings: pass
  • unit tests: pass
  • Android arm64 cross-compile: pass
  • Rust staticlib + minimal C++ Zygisk ABI link: pass
  • module ZIP integrity: pass
  • exported entries: zygisk_module_entry, zygisk_companion_entry
  • ELF target: Android API 26 / arm64-v8a
  • load-segment alignment: 0x4000 (16 KiB compatible)
  • final Zygisk library stripped

Release ZIP SHA-256:
fdee4f245a5ed84ab067030ec7ad1a2d6cdf61057fb2850b6ea7135a09d54b50

This remains a no-hook Guest preview: it only verifies provider loading, pre-specialize companion FD preservation, post-specialize Rust IPC, daemon registration and CLI diagnostics for com.android.providers.downloads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant