Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
31f6122
feat: Match fingerprints by instruction filters
LisoUseInAIKyrios Jan 1, 2025
1965e84
refactor
LisoUseInAIKyrios Jan 2, 2025
d02aad0
refactor: Use 'by' semantic to capture fingerprint name
LisoUseInAIKyrios Jan 3, 2025
a160101
Allow using a fingerprint result inside another fingerprint
LisoUseInAIKyrios Jan 3, 2025
7547319
fix 'by' syntax causing multiple resolves. Add debug resolving perfor…
LisoUseInAIKyrios Jan 3, 2025
14335e8
Add helper method
LisoUseInAIKyrios Jan 3, 2025
3386fd9
make match result fields consistent with fingerprint accessor methods
LisoUseInAIKyrios Jan 3, 2025
e2707e1
fix: Retain existing null opcode behavior
LisoUseInAIKyrios Jan 3, 2025
9779e50
refactor: Change `ByteCodePatchContext` to a singleton object, remove…
LisoUseInAIKyrios Jan 3, 2025
4d38837
feat: Add 'classFingerprint' (parent fingerprint)
LisoUseInAIKyrios Jan 3, 2025
a3852a6
fix: Temporarily turn off failing tests
LisoUseInAIKyrios Jan 4, 2025
2b6e437
add `NewInstanceFilter`, add JVM method string parsing, add basic uni…
LisoUseInAIKyrios Jan 4, 2025
319a8a7
code documentation
LisoUseInAIKyrios Jan 4, 2025
1199e21
refactor
LisoUseInAIKyrios Jan 5, 2025
111d6ca
comments
LisoUseInAIKyrios Jan 5, 2025
3dad1b0
refactor
LisoUseInAIKyrios Jan 5, 2025
6c80a20
refactor: remove performance logging
LisoUseInAIKyrios Jan 5, 2025
cfb873a
Revert "refactor: Change `ByteCodePatchContext` to a singleton object…
LisoUseInAIKyrios Jan 5, 2025
c37ecb8
fix: delete test that is now too clunky since a context must be passed
LisoUseInAIKyrios Jan 5, 2025
231378e
refactor: Rename to `MethodCallFilter` and `FieldCallFilter`
LisoUseInAIKyrios Jan 5, 2025
502ea98
Revert "feat: Add 'classFingerprint' (parent fingerprint)"
LisoUseInAIKyrios Jan 5, 2025
f5a1b26
perf: Copy strings only if strings are found
LisoUseInAIKyrios Jan 5, 2025
1166096
Restore instruction filter test
LisoUseInAIKyrios Jan 5, 2025
cdb986d
Comments. Will update .md examples after DSL is figured out.
LisoUseInAIKyrios Jan 5, 2025
0e85451
refactor: Rename FieldCallFilter -> FieldAccessFilter
LisoUseInAIKyrios Jan 6, 2025
b3b77ac
docs: Update fingerprinting examples
LisoUseInAIKyrios Jan 6, 2025
47e8086
refactor: Use DSL style constructor functions
LisoUseInAIKyrios Jan 7, 2025
0ca165d
refactor
LisoUseInAIKyrios Jan 7, 2025
f54efb1
add String literal instruction filter
LisoUseInAIKyrios Jan 7, 2025
a572771
docs: Cleanup examples
LisoUseInAIKyrios Jan 8, 2025
2faba7f
Comments
LisoUseInAIKyrios Jan 9, 2025
b74d51b
refactor: Comments, consistency
LisoUseInAIKyrios Jan 9, 2025
df7bc88
refactor: Allow partial matches of string literals
LisoUseInAIKyrios Jan 9, 2025
2c91090
refactor
LisoUseInAIKyrios Jan 9, 2025
a0a0306
perf: Skip return type check if access flags include constructor
LisoUseInAIKyrios Jan 9, 2025
329dfbd
add 'checkCast' instruction filter
LisoUseInAIKyrios Jan 10, 2025
b117dba
Add field access smali parsing for consistency
LisoUseInAIKyrios Jan 10, 2025
bb06381
fix: Improve smali regex filter
LisoUseInAIKyrios Jan 10, 2025
e1930ea
refactor: Match class types using endsWith
LisoUseInAIKyrios Jan 10, 2025
f981d1c
refactor: Throw exception on bad new instance type
LisoUseInAIKyrios Jan 10, 2025
20b4900
Add more details to example
LisoUseInAIKyrios Jan 12, 2025
132fa00
refactor: Add sub version to show files in correct order
LisoUseInAIKyrios Jan 12, 2025
f93f870
refactor: Deprecate pure opcode declarations
LisoUseInAIKyrios Jan 15, 2025
955ceb6
Move instruction filters to fingerprint.kt file
LisoUseInAIKyrios Jan 15, 2025
c74c1b8
rename parameter to be more clear
LisoUseInAIKyrios Jan 15, 2025
5885984
Revert "refactor: Deprecate pure opcode declarations" It's still use…
LisoUseInAIKyrios Jan 21, 2025
57d8087
add debugging code
LisoUseInAIKyrios Jan 27, 2025
1dacd3d
Revert "add debugging code"
LisoUseInAIKyrios Jan 27, 2025
b08ef19
Work in progress fix for wrong fingerprint indexes found when multipl…
LisoUseInAIKyrios Jan 27, 2025
0f198c4
fix: Replace original classdef with proxy class immediately
LisoUseInAIKyrios Jan 28, 2025
142aa71
refactor: Remove ClassProxy wrapper that's no longer needed. All exi…
LisoUseInAIKyrios Jan 28, 2025
8951990
refactor: Change ProxyList to a map, remove now redundant class looku…
LisoUseInAIKyrios Jan 28, 2025
772c0e6
Update documentation
LisoUseInAIKyrios Jan 28, 2025
8f7911e
Refactor: Simplify
LisoUseInAIKyrios Jan 28, 2025
567feef
refactor: Add `mutableClassByOrNull()`
LisoUseInAIKyrios Jan 28, 2025
d7974ef
refactor: Pre-size the class map
LisoUseInAIKyrios Jan 28, 2025
d0e0a80
Update examples
LisoUseInAIKyrios Jan 28, 2025
44a1424
refactor
LisoUseInAIKyrios Jan 30, 2025
fc319f4
refactor, remove `lastInstruction()` filter
LisoUseInAIKyrios Feb 2, 2025
6c58248
fix: Validate 1 or more instructions or opcodes
LisoUseInAIKyrios Feb 6, 2025
6898576
fix floating point literals
LisoUseInAIKyrios Feb 13, 2025
e4bfbce
refactor: Move instruction filters to their own file
LisoUseInAIKyrios Feb 13, 2025
d1d5557
fix: Add clear match method for shared fingerprints
LisoUseInAIKyrios Feb 13, 2025
5628204
refactor
LisoUseInAIKyrios Feb 13, 2025
f32cc90
Comments and cleanup
LisoUseInAIKyrios Feb 18, 2025
f38f5a7
fix default value
LisoUseInAIKyrios Feb 22, 2025
22db561
Merge remote-tracking branch 'upstream/dev' into feat/instruction_fil…
LisoUseInAIKyrios Mar 16, 2025
f675f86
refactor
LisoUseInAIKyrios Mar 26, 2025
6cc7411
adjust section title
LisoUseInAIKyrios May 25, 2025
74b54d2
adjust example
LisoUseInAIKyrios May 25, 2025
3f6bea1
move fingerprint before example target app
LisoUseInAIKyrios May 25, 2025
8ceea4c
adjust example fingerprint
LisoUseInAIKyrios May 25, 2025
ebafb4c
add more comments
LisoUseInAIKyrios May 25, 2025
93535e9
add mention of using un-obfusated smali
LisoUseInAIKyrios May 25, 2025
4f02909
adjust docs
LisoUseInAIKyrios May 25, 2025
3ace863
adjust docs
LisoUseInAIKyrios May 25, 2025
c0e6eae
adjust docs
LisoUseInAIKyrios May 25, 2025
c5b0b42
formatting
LisoUseInAIKyrios May 25, 2025
9fc7237
adjust docs
LisoUseInAIKyrios May 25, 2025
b0c31b5
adjust docs
LisoUseInAIKyrios May 25, 2025
6e72e32
fix: change `classBy(String)` > `classBy(CharSequence)`
LisoUseInAIKyrios Jun 3, 2025
f266622
Revert "fix: change `classBy(String)` > `classBy(CharSequence)`"
LisoUseInAIKyrios Jun 3, 2025
a2a0b5b
Remove instruction filter context receivers
LisoUseInAIKyrios Jun 3, 2025
dfbea7e
cleanup
LisoUseInAIKyrios Jun 3, 2025
254e8d6
Merge remote-tracking branch 'refs/remotes/upstream/dev' into feat/in…
LisoUseInAIKyrios Jun 20, 2025
da11336
Merge remote-tracking branch 'refs/remotes/upstream/dev' into feat/in…
LisoUseInAIKyrios Jun 22, 2025
b0d3471
build(deps): bump org.jetbrains.kotlinx.binary-compatibility-validato…
dependabot[bot] Aug 1, 2025
81e6aed
build(deps): bump io.mockk:mockk from 1.13.10 to 1.14.5 (#363)
dependabot[bot] Aug 1, 2025
42c5a75
build(deps-dev): bump semantic-release from 24.1.2 to 24.2.7 (#364)
dependabot[bot] Aug 1, 2025
e8358ab
build(deps): bump org.jetbrains.kotlinx:kotlinx-coroutines-core from …
dependabot[bot] Aug 1, 2025
dd95d8c
build(deps): bump burrunan/gradle-cache-action from 1 to 3 (#352)
dependabot[bot] Aug 1, 2025
d21d2b1
build(deps): bump com.android.tools.smali:smali from 3.0.8 to 3.0.9 (…
dependabot[bot] Aug 1, 2025
f70e857
build(deps): bump kotlin from 2.0.20 to 2.2.0 (#354)
dependabot[bot] Aug 1, 2025
3e4ebb4
Merge branch 'dev' into feat/instruction_filters
LisoUseInAIKyrios Aug 1, 2025
8255ca1
Revert "build(deps): bump kotlin from 2.0.20 to 2.2.0 (#354)"
LisoUseInAIKyrios Aug 1, 2025
9d985c6
Merge remote-tracking branch 'upstream/dev' into feat/instruction_fil…
LisoUseInAIKyrios Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
fetch-depth: 0

- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1
uses: burrunan/gradle-cache-action@v3

- name: Build
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
fetch-depth: 0

- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1
uses: burrunan/gradle-cache-action@v3

- name: Build
env:
Expand Down
225 changes: 178 additions & 47 deletions api/revanced-patcher.api

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/1_patcher_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,4 @@ val resources = patcherResult.resources

The next page teaches the fundamentals of ReVanced Patches.

Continue: [🧩 Introduction to ReVanced Patches](2_patches_intro.md)
Continue: [🧩 Introduction to ReVanced Patches](2_0_0_patches_intro.md)
2 changes: 1 addition & 1 deletion docs/2_patches_intro.md → docs/2_0_0_patches_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,4 @@ val resourcePatch = resourcePatch {

The next page will guide you through creating a development environment for creating patches.

Continue: [👶 Setting up a development environment](2_1_setup.md)
Continue: [👨‍💻 Setting up a development environment](2_1_0_setup.md)
4 changes: 2 additions & 2 deletions docs/2_1_setup.md → docs/2_1_0_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
Continuing the legacy of Vanced
</p>

# 👶 Setting up a development environment
# 👨‍💻 Setting up a development environment

To start developing patches with ReVanced Patcher, you must prepare a development environment.

Expand Down Expand Up @@ -109,4 +109,4 @@ Throughout the documentation, [ReVanced Patches](https://github.com/revanced/rev

The next page will go into details about a ReVanced patch.

Continue: [🧩 Anatomy of a patch](2_2_patch_anatomy.md)
Continue: [🧩 Anatomy of a patch](2_2_0_patch_anatomy.md)
2 changes: 1 addition & 1 deletion docs/2_2_patch_anatomy.md → docs/2_2_0_patch_anatomy.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ val disableAdsPatch = bytecodePatch(
// Business logic of the patch to disable ads in the app.
execute {
// Fingerprint to find the method to patch.
val showAdsFingerprint = fingerprint {
val showAdsFingerprint by fingerprint {
// More about fingerprints on the next page of the documentation.
}

Expand Down
Loading