Commit Graph

669 Commits

Author SHA1 Message Date
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
b1eebc99a7 perf: do not resolve empty signatures list
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:27 +02:00
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
beff1df9b0 refactor: resolve signatures automatically
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:26 +02:00
f58a498849 add: applyProxies method
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:26 +02:00
6cb1fdf617 feat: properly manage ClassProxy & add ProxyBackedClassList
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
7399450139 fix: PackageMetadata
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
193eae298a add: PackageMetadata for signatures
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:25 +02:00
4e56652429 fix: make methodMetadata nullable in MethodSignatureMetadata
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:24 +02:00
7755bbc645 feat: add MethodWalker
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:24 +02:00
f3b5f67b39 fix: incorrect pattern offset 2022-06-05 08:03:24 +02:00
7f18bbf66e docs: fix improper docs for fuzzy resolver Warning 2022-06-05 08:03:23 +02:00
c8b68e36e0 refactor: better naming for resolver warning parameters
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:23 +02:00
5ca5a1c29e fix: applying no patches throwing error
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:23 +02:00
d677d9e800 refact: better parameter names for Warning
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:22 +02:00
e5bea06353 fix: fuzzy resolver warning params were turned around 2022-06-05 08:03:22 +02:00
8f1a629191 fix: make warnings nullable instead of lateinit 2022-06-05 08:03:22 +02:00
e6086511e5 refactor: remove all parameter names 2022-06-05 08:03:21 +02:00
c612676543 fix: MethodSignature#resolved throwing an exception 2022-06-05 08:03:21 +02:00
bca948658e test: Add tests for unknown opcodes 2022-06-05 08:03:20 +02:00
0e5f4ba2d5 feat: Allow unknown opcodes using null
This is the same as `??` in IDA signatures.
2022-06-05 08:03:20 +02:00
6ca05769ef chore: remove todo 2022-06-05 08:03:20 +02:00
c21e5affba refactor: remove all @Suppression's 2022-06-05 08:03:19 +02:00
1c5a04caf9 refactor: format code 2022-06-05 08:03:19 +02:00
3d6a1d38f3 fix: Suppress unused for addFiles 2022-06-05 08:03:19 +02:00
715a2ad025 feat: Add warnings for Fuzzy resolver 2022-06-05 08:03:18 +02:00
9889ec9d03 docs: fix wrong wording 2022-06-05 08:03:18 +02:00
01bfbd656e feat: add extensions for cloning methods 2022-06-05 08:03:17 +02:00
6c9797583d test: fix outdated test 2022-06-05 08:03:17 +02:00
3cf07f5ce2 refactor: replace asInstructions with toInstruction to follow proper naming scheme 2022-06-05 08:03:17 +02:00
0bfb92a0cb revert: AccessFlag extensions not working with IDE 2022-06-05 08:03:16 +02:00
042638a399 refactor: replace Array with Iterable 2022-06-05 08:03:16 +02:00
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
338bd9f739 fix: null check causing an exception
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:15 +02:00
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
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
b2dab3fabf refactor: rename method to resolverMethod 2022-06-05 08:03:14 +02:00
0f30eac32c fix: remove leftover debug code 2022-06-05 08:03:14 +02:00
642e9031eb feat: Add patch metadata
Fixes ReVancedTeam/revanced-patches#1
2022-06-05 08:03:13 +02:00
7a56dca004 feat: add fuzzy resolver
fixed docs for MethodSignature & added tests for fuzzy resolver
2022-06-05 08:03:13 +02:00
18853f70a4 refactor: migrate signature schema changes to Patcher
also updated Extensions, for good measure.
2022-06-05 08:03:13 +02:00
6b8b0573d4 feat: add missing test for fields
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:12 +02:00
3889d72927 style: reformat code
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-06-05 08:03:12 +02:00
3f97cc8e1f feat: remaining mutable EncodedValue classes 2022-06-05 08:03:11 +02:00
1db735b1e2 feat: allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called 2022-06-05 08:03:11 +02:00
996c4acb20 fix: always return PatchResultSuccess on patch success 2022-06-05 08:03:11 +02:00
5b28523eea add: optional callback for CLI 2022-06-05 08:03:10 +02:00
72f3cad3f9 refactor: Change all references from Array to Iterable
BREAKING CHANGE: arrayOf has to be changed to listOf.
2022-06-05 08:03:10 +02:00
9659a61c5c fix: adding existing classes to the patchers cache 2022-06-05 08:03:10 +02:00
b892729332 chore: update kotlin, don't shade deps, publish to maven local, make deps api instead of implementation 2022-06-05 08:03:09 +02:00