Commit graph

173 commits

Author SHA1 Message Date
oSumAtrIX
cc9416dd11
perf: depend on androlib instead of ApkDecoder
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:28 +02:00
oSumAtrIX
99319e63da
add: resource patcher
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:28 +02:00
oSumAtrIX
c459beb5f8
fix: reaching all constructors not possible
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:28 +02:00
oSumAtrIX
e5ae970009
fix: string signature in SignatureResolver
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:27 +02:00
oSumAtrIX
612515acf8
feat: string signature (#22)
* feat: string signature

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>

* fix: signature in test

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>

* fix: make string signature optional

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>

* fix: use of `compareOpcodes` when comparing string signatures

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>

* add: `PackageMetadata` for signatures

Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:27 +02:00
oSumAtrIX
b1eebc99a7
perf: do not resolve empty signatures list
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:27 +02:00
oSumAtrIX
6cb7cdb0b2
fix: ConcurrentModificationException while iterating through proxies and modifying it
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:26 +02:00
oSumAtrIX
beff1df9b0
refactor: resolve signatures automatically
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:26 +02:00
oSumAtrIX
f58a498849
add: applyProxies method
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:26 +02:00
oSumAtrIX
6cb1fdf617
feat: properly manage ClassProxy & add ProxyBackedClassList
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
oSumAtrIX
7399450139
fix: PackageMetadata
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
oSumAtrIX
193eae298a
add: PackageMetadata for signatures
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
oSumAtrIX
4e56652429
fix: make methodMetadata nullable in MethodSignatureMetadata
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:24 +02:00
oSumAtrIX
7755bbc645
feat: add MethodWalker
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:24 +02:00
Lucaskyy
f3b5f67b39
fix: incorrect pattern offset 2022-06-05 08:03:24 +02:00
Lucaskyy
7f18bbf66e
docs: fix improper docs for fuzzy resolver Warning 2022-06-05 08:03:23 +02:00
oSumAtrIX
c8b68e36e0
refactor: better naming for resolver warning parameters
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:23 +02:00
oSumAtrIX
5ca5a1c29e
fix: applying no patches throwing error
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:23 +02:00
oSumAtrIX
d677d9e800
refact: better parameter names for Warning
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:22 +02:00
Lucaskyy
e5bea06353
fix: fuzzy resolver warning params were turned around 2022-06-05 08:03:22 +02:00
Lucaskyy
8f1a629191
fix: make warnings nullable instead of lateinit 2022-06-05 08:03:22 +02:00
Lucaskyy
e6086511e5
refactor: remove all parameter names 2022-06-05 08:03:21 +02:00
Lucaskyy
c612676543
fix: MethodSignature#resolved throwing an exception 2022-06-05 08:03:21 +02:00
Lucaskyy
bca948658e
test: Add tests for unknown opcodes 2022-06-05 08:03:20 +02:00
Lucaskyy
0e5f4ba2d5
feat: Allow unknown opcodes using null
This is the same as `??` in IDA signatures.
2022-06-05 08:03:20 +02:00
Lucaskyy
6ca05769ef
chore: remove todo 2022-06-05 08:03:20 +02:00
Lucaskyy
c21e5affba
refactor: remove all @Suppression's 2022-06-05 08:03:19 +02:00
Lucaskyy
1c5a04caf9
refactor: format code 2022-06-05 08:03:19 +02:00
Lucaskyy
3d6a1d38f3
fix: Suppress unused for addFiles 2022-06-05 08:03:19 +02:00
Lucaskyy
715a2ad025
feat: Add warnings for Fuzzy resolver 2022-06-05 08:03:18 +02:00
Lucaskyy
9889ec9d03
docs: fix wrong wording 2022-06-05 08:03:18 +02:00
Lucaskyy
01bfbd656e
feat: add extensions for cloning methods 2022-06-05 08:03:17 +02:00
Lucaskyy
6c9797583d
test: fix outdated test 2022-06-05 08:03:17 +02:00
Lucaskyy
3cf07f5ce2
refactor: replace asInstructions with toInstruction to follow proper naming scheme 2022-06-05 08:03:17 +02:00
Lucaskyy
0bfb92a0cb
revert: AccessFlag extensions not working with IDE 2022-06-05 08:03:16 +02:00
Lucaskyy
042638a399
refactor: replace Array with Iterable 2022-06-05 08:03:16 +02:00
oSumAtrIX
4178a1eedc
fix: replaceWith not replacing classes with used class proxies
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:15 +02:00
oSumAtrIX
338bd9f739
fix: null check causing an exception
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:15 +02:00
oSumAtrIX
c55c62a57e
add: throw on getting result of MethodSignature if null
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:15 +02:00
oSumAtrIX
1f08da8b2a
refact: include each signature in its corresponding patch
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:14 +02:00
Lucaskyy
b2dab3fabf
refactor: rename method to resolverMethod 2022-06-05 08:03:14 +02:00
Lucaskyy
0f30eac32c
fix: remove leftover debug code 2022-06-05 08:03:14 +02:00
Lucaskyy
642e9031eb
feat: Add patch metadata
Fixes ReVancedTeam/revanced-patches#1
2022-06-05 08:03:13 +02:00
Lucaskyy
7a56dca004
feat: add fuzzy resolver
fixed docs for MethodSignature & added tests for fuzzy resolver
2022-06-05 08:03:13 +02:00
Lucaskyy
18853f70a4
refactor: migrate signature schema changes to Patcher
also updated Extensions, for good measure.
2022-06-05 08:03:13 +02:00
oSumAtrIX
6b8b0573d4
feat: add missing test for fields
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:12 +02:00
oSumAtrIX
3889d72927
style: reformat code
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:12 +02:00
oSumAtrIX
3f97cc8e1f
feat: remaining mutable EncodedValue classes 2022-06-05 08:03:11 +02:00
Lucaskyy
1db735b1e2
feat: allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called 2022-06-05 08:03:11 +02:00
Lucaskyy
996c4acb20
fix: always return PatchResultSuccess on patch success 2022-06-05 08:03:11 +02:00