Sculas
4813a8b48e
chore: remove import
2022-07-31 15:01:38 +02:00
Sculas
d5c66022c9
refactor: get rid of package names in example
2022-07-31 15:01:13 +02:00
oSumAtrIX
dd941233ca
refactor: improve the addInstructions extension method further more
2022-07-09 06:26:05 +02:00
Lucaskyy
6bfe5716c3
feat: Improve Smali Compiler
...
- Branching support has been added. See InlineSmaliCompilerTest.kt for an example.
- Some other improvements have been made too.
2022-06-27 21:11:59 +02:00
Lucaskyy
f565c4f6a7
refactor: improve ResourceData.kt
...
Old methods have been marked as deprecated, and will be removed in the future.
- ResourceData.kt was made an Iterable<File>, and the forEach method was removed in favor of Kotlin's forEach function. (no modifications required)
- The resolve method was deprecated in favor of a new operator getter function, which can be either called using get(path) or data[path]. This keeps backwards compatibility with the old get method.
- The getXmlEditor method was deprecated in favor of the new xmlEditor variable, which is a XmlFileHolder which has an operator getter which acts like an array. This is syntactically better.
2022-06-26 17:14:38 +02:00
Lucaskyy
35749454ab
refactor: remove deprecated methods in ResourceData.kt
2022-06-26 16:53:25 +02:00
Lucaskyy
081a5a6849
refactor: fmt ExampleBytecodePatch.kt
2022-06-26 16:21:55 +02:00
oSumAtrIX
efa8ea1445
refactor: migrate from Signature to Fingerprint
...
BREAKING CHANGE: Not backwards compatible, since a lot of classes where renamed.
2022-06-26 15:10:54 +02:00
oSumAtrIX
e47b67d7ec
feat: simplify adding instructions
2022-06-20 21:20:51 +02:00
oSumAtrIX
5535eb4f01
refactor: improve ExampleResourcePatch
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:33 +02:00
oSumAtrIX
ec9fd15f9b
feat: PatchLoader
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:32 +02:00
oSumAtrIX
d20f7fd6e1
feat: use annotations instead of metadata objects
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:31 +02:00
oSumAtrIX
024fa867e1
fix: qualifying Element with wrong package
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:31 +02:00
oSumAtrIX
fc05fe79de
fix: failing tests temporarily
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:29 +02:00
oSumAtrIX
99319e63da
add: resource patcher
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:28 +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
6cb1fdf617
feat: properly manage ClassProxy & add ProxyBackedClassList
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:25 +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
bca948658e
test: Add tests for unknown opcodes
2022-06-05 08:03:20 +02:00
Lucaskyy
715a2ad025
feat: Add warnings for Fuzzy resolver
2022-06-05 08:03:18 +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
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
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
Lucaskyy
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
Lucaskyy
94dbb573cf
refactor: bump multidexlib2, dexlib2 and smali
2022-06-05 08:03:07 +02:00
Lucaskyy
c267b12a7d
refactor: make method a property
2022-06-05 08:03:04 +02:00
Lucaskyy
45303f66ec
test: fix test with previous changes
2022-06-05 08:03:03 +02:00
oSumAtrIX
0d8d19e708
feat: Finish first patcher test
2022-06-05 08:03:00 +02:00
oSumAtrIX
544bcf76bd
feat: Add first tests
2022-06-05 08:02:58 +02:00
oSumAtrIX
398239dc10
fix: fix classes having multiple method instances
2022-06-05 08:02:56 +02:00
Lucaskyy
bfe4e3e298
feat: add inline smali compiler
2022-06-05 08:02:55 +02:00
Lucaskyy
a1b6b06bd3
test: use findClass with className & cleanup
2022-06-05 08:02:55 +02:00
Lucaskyy
00c85b5d75
feat: add or extension for AccessFlags
2022-06-05 08:02:54 +02:00
oSumAtrIX
e6c2501539
fix: Fixed writer & signature resolver, improved tests & speed, minor refactoring
2022-06-05 08:02:52 +02:00
oSumAtrIX
3651981161
feat: migrate to dexlib
...
BREAKING CHANGE: Removed usage of ASM library
2022-06-05 08:02:51 +02:00
Lucaskyy
fa6e454ae9
test: fix assert message
2022-06-05 08:02:50 +02:00
Lucaskyy
cbd8df2df0
fix(MethodResolver): fix cd57a8c9a0
2022-06-05 08:02:49 +02:00
Lucaskyy
699c730a7c
fix(MethodResolver): strip labels and line numbers so opcode patterns match
2022-06-05 08:02:48 +02:00
Lucaskyy
41749ba829
fix: give ClassWriter a ClassReader for symtable
...
removed SafeClassWriter as it was unused
2022-06-05 08:02:46 +02:00
Lucaskyy
7faa001406
refactor: Optimize Signature class ( #11 )
...
BREAKING CHANGE: Array<Int> was changed to IntArray. This breaks existing patches.
2022-06-05 08:02:44 +02:00
Lucaskyy
70872307e3
refactor: Rename net.revanced to app.revanced
...
BREAKING CHANGE: Package name was changed from "net.revanced" to "app.revanced"
2022-06-05 08:02:44 +02:00
oSumAtrIX
310a7c446b
fix(Io): JAR loading and saving ( #8 )
...
* refactor: Complete rewrite of `Io`
* style: format code
* style: rewrite todos
* fix: use lateinit instead of nonnull assert for zipEntry
* fix: use lateinit instead of nonnull assert for jarEntry & reuse zipEntry
* docs: add docs to `Patcher`
* test: match output of patcher
* chore: add todo to `Io` for removing non-class files
Co-authored-by: Sculas <contact@sculas.xyz >
2022-06-05 08:02:43 +02:00
oSumAtrIX
674461f08d
fix: nullable signature members ( #10 )
...
This commit will allow "partial" signatures, basically we will be allowed to exclude members to match for the signature
2022-06-05 08:02:43 +02:00
oSumAtrIX
bbb2c547aa
feat: Add findParentMethod utility method ( #4 )
...
* feat: Add `findParentMethod` utitly method
* refactor: add `resolveMethod` to `MethodResolver`
added some assertions and some tests
Co-authored-by: Lucaskyy <contact@sculas.xyz >
2022-06-05 08:02:42 +02:00