# revanced/revanced-patcher

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/revanced-revanced-patcher).**

3,397 stars · 289 forks · Kotlin · GPL-3.0

## Links

- GitHub: https://github.com/ReVanced/revanced-patcher
- Homepage: https://revanced.app
- awesome-repositories: https://awesome-repositories.com/repository/revanced-revanced-patcher.md

## Topics

`aapt` `android` `android-runtime` `dalvik` `kotlin` `kotln` `patcher` `revanced` `reverse-engineering` `smali`

## Description

The ReVanced Patcher is a framework designed for modifying compiled Android application binaries. It functions as an engine for injecting custom code, altering bytecode, and updating resources directly within package files without requiring access to the original source code.

The project distinguishes itself through a modular system that organizes modifications into independent, reusable units. These patches are managed through a dependency-aware execution process that ensures modifications are applied in the correct order, allowing for consistent behavior changes across different application versions and environments.

The toolset provides comprehensive capabilities for binary instrumentation, including the ability to disassemble instructions into an intermediate representation for modification before reassembling them. It also handles the decoding and rebuilding of resource tables and application archives, ensuring that the internal structure and cryptographic integrity of the modified packages are maintained.

## Tags

### Mobile Development

- [Android App Modifications](https://awesome-repositories.com/f/mobile-development/android-app-modifications.md) — Alters the behavior and features of compiled Android applications by injecting custom code and resources.
- [Android Binary Patching Engines](https://awesome-repositories.com/f/mobile-development/android-binary-patching-engines.md) — Provides a framework for modifying compiled Android binaries by injecting code and updating resources without source access.
- [Android Resource Decoding](https://awesome-repositories.com/f/mobile-development/android-resource-decoding.md) — Decodes and rebuilds application assets and resource files to modify the visual interface and functional behavior.
- [Resource Table Rebuilders](https://awesome-repositories.com/f/mobile-development/android-resource-table-optimizations/resource-table-rebuilders.md) — Decodes and re-encodes binary resource files to inject assets while preserving OS-required internal structures.

### Development Tools & Productivity

- [Dependency Patching Utilities](https://awesome-repositories.com/f/development-tools-productivity/dependency-patching-utilities.md) — Resolves dependencies between modification scripts to ensure patches are applied in the correct sequence.

### Operating Systems & Systems Programming

- [Application Binary Modifications](https://awesome-repositories.com/f/operating-systems-systems-programming/application-binary-modifications.md) — Decodes and rebuilds application resource files to change assets while maintaining package integrity. ([source](https://github.com/revanced/revanced-patcher#readme))

### Programming Languages & Runtimes

- [Offline Bytecode Instrumentation](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/bytecode/offline-bytecode-instrumentation.md) — Provides static modification of Android bytecode to inject custom logic into compiled application binaries.

### Security & Cryptography

- [Android Application Reverse Engineering](https://awesome-repositories.com/f/security-cryptography/android-application-reverse-engineering.md) — Analyzes and disassembles compiled Android binaries to understand internal logic for custom modifications.

### Software Engineering & Architecture

- [Binary Instrumentation Tools](https://awesome-repositories.com/f/software-engineering-architecture/binary-instrumentation-tools.md) — Disassembles, modifies, and reassembles Android package files at the instruction level to change application behavior.
- [Application Binary Patching](https://awesome-repositories.com/f/software-engineering-architecture/binary-patching-utilities/source-level-patch-integration/binary-patch-toolchains/application-binary-patching.md) — Injects custom code and resources into mobile application files to alter core functionality without source access. ([source](https://revanced.app/))
- [Bytecode Manipulation](https://awesome-repositories.com/f/software-engineering-architecture/bytecode-manipulation.md) — Modifies compiled binaries by disassembling and assembling underlying virtual machine instructions. ([source](https://github.com/revanced/revanced-patcher#readme))
- [Patch Application](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/patch-application.md) — Applies modular scripts to consistently modify Android application packages across different versions.
- [Application Patch Builders](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/patch-application/application-patch-builders.md) — Supports reusable patch development through modular scripts targeting bytecode and resources for consistent modifications. ([source](https://github.com/revanced/revanced-patcher#readme))
- [Archive Manifest Customization](https://awesome-repositories.com/f/software-engineering-architecture/configuration-manifests/archive-manifest-customization.md) — Extracts and repacks application archives while maintaining cryptographic integrity and internal file structure.
- [Modular Program Composition](https://awesome-repositories.com/f/software-engineering-architecture/modular-program-composition.md) — Organizes modifications into independent, reusable units that can be chained for complex binary changes.
