Skip to content

Instantly share code, notes, and snippets.

View ThePedroo's full-sized avatar

Pedro.js ThePedroo

View GitHub Profile
@ThePedroo
ThePedroo / THEPEDROO_ZYGISK_MODULE_GUIDE.md
Created March 29, 2026 06:29
ThePedroo's Zygisk Module Guide

ThePedroo's Zygisk Module Guide

The Zygisk API is fairly easy to understand: two main functions, 4 functions that are set on runtime, pre and post for both apps and system server. However, when you get more into the development of a Zygisk module, it gets significantly harder to know how to improve the module in terms of efficiency, and how to avoid detections, after all there are no (properly) documented resources for either.

This post/guide, written by ReZygisk's developer, documents numerous information (and that are actually valuable) that allow to build a better Zygisk module, improving hiding and performance/speed.

1. Untargeted processes; Minimal execution

Many Zygisk modules have specific targets, and aren't meant to execute on other processes. It is common for many to also need to execute a considerable amount of code preparing for later execution. However, it is important to check, as the first real step, in preAppSpecialize, if you actually need to run any code in that process.

@ThePedroo
ThePedroo / verify-zip.js
Last active May 18, 2025 20:33
SignSee, a tool to check if a ReZygisk build has been tampered with and if it uses official public key.
#!/usr/bin/env node
/*
SignSee 0.0.2 by ThePedroo
Licensed under AGPL 3.0 by ThePedroo,
read about in Open Source Initiative: https://opensource.org/license/agpl-v3
*/
import fs from 'node:fs'
@ThePedroo
ThePedroo / main.c
Created January 31, 2024 02:52
Concord suppress notification example
#include <string.h>
#include <concord/discord.h>
#include <concord/log.h>
void on_message(struct discord *client, const struct discord_message *message) {
if (message->author->bot) return;
if (strcmp(".concord-test", message->content) == 0) {
struct discord_create_message params = {