semantic-release-bot
3d61dacbda
chore(release): 1.10.0 [skip ci]
...
# [1.10.0](https://github.com/revanced/revanced-patcher/compare/v1.9.0...v1.10.0 ) (2022-06-23)
### Features
* improve logging ([c20dfe1
](c20dfe12d5
))
2022-06-23 00:12:04 +00:00
oSumAtrIX
c20dfe12d5
feat: improve logging
2022-06-23 02:10:43 +02:00
semantic-release-bot
78663cde88
chore(release): 1.9.0 [skip ci]
...
# [1.9.0](https://github.com/revanced/revanced-patcher/compare/v1.8.0...v1.9.0 ) (2022-06-22)
### Bug Fixes
* callback for each file instead of class ([930768d
](930768dfb3
))
### Features
* yield the patch result ([dde5385
](dde5385232
))
2022-06-22 23:43:17 +00:00
oSumAtrIX
dde5385232
feat: yield the patch result
2022-06-23 01:41:52 +02:00
oSumAtrIX
930768dfb3
fix: callback for each file instead of class
2022-06-23 01:41:52 +02:00
semantic-release-bot
1f4bc5079f
chore(release): 1.8.0 [skip ci]
...
# [1.8.0](https://github.com/revanced/revanced-patcher/compare/v1.7.2...v1.8.0 ) (2022-06-22)
### Features
* logging class ([caf2745
](caf2745805
))
2022-06-22 23:25:29 +00:00
oSumAtrIX
caf2745805
feat: logging class
2022-06-23 01:23:35 +02:00
oSumAtrIX
a4529c3fee
refactor: logging and exception strings
2022-06-22 16:47:58 +02:00
semantic-release-bot
835c0f9f7a
chore(release): 1.7.2 [skip ci]
...
## [1.7.2](https://github.com/revanced/revanced-patcher/compare/v1.7.1...v1.7.2 ) (2022-06-22)
### Bug Fixes
* add execute permission to `./gradlew` file ([#46 ](https://github.com/revanced/revanced-patcher/issues/46 )) ([34f607a
](34f607aa24
))
2022-06-22 14:17:16 +00:00
Oskar
34f607aa24
fix: add execute permission to ./gradlew
file ( #46 )
2022-06-22 16:16:00 +02:00
Lucaskyy
0f38b94701
Merge remote-tracking branch 'origin/main' into main
2022-06-22 16:13:34 +02:00
Lucaskyy
39bb1b25dc
refactor: add logging
2022-06-22 16:13:23 +02:00
Lucaskyy
4fc63a4d8a
refactor: add callbacks for applyPatches & addFiles
2022-06-22 15:37:33 +02:00
semantic-release-bot
6037397bc2
chore(release): 1.7.1 [skip ci]
...
## [1.7.1](https://github.com/revanced/revanced-patcher/compare/v1.7.0...v1.7.1 ) (2022-06-22)
### Reverts
* revert "feat: use of `java.util.logging.Logger`" ([e8488b3
](e8488b3e86
))
2022-06-22 13:07:22 +00:00
Lucaskyy
273dd86b65
chore: remove ExtFile import
2022-06-22 15:04:05 +02:00
Lucaskyy
e8488b3e86
revert "feat: use of java.util.logging.Logger
"
...
This reverts commit 9c39c9efdb
.
This reverts commit 8f66f9f606
.
2022-06-22 15:03:30 +02:00
semantic-release-bot
c13361823d
chore(release): 1.7.0 [skip ci]
...
# [1.7.0](https://github.com/revanced/revanced-patcher/compare/v1.6.0...v1.7.0 ) (2022-06-22)
### Features
* migrate logger to `slf4j` ([8f66f9f
](8f66f9f606
))
2022-06-22 12:18:57 +00:00
oSumAtrIX
8f66f9f606
feat: migrate logger to slf4j
2022-06-22 14:17:09 +02:00
semantic-release-bot
a123026f46
chore(release): 1.6.0 [skip ci]
...
# [1.6.0](https://github.com/revanced/revanced-patcher/compare/v1.5.0...v1.6.0 ) (2022-06-22)
### Features
* use of `java.util.logging.Logger` ([9c39c9e
](9c39c9efdb
))
2022-06-22 11:48:43 +00:00
oSumAtrIX
9c39c9efdb
feat: use of java.util.logging.Logger
2022-06-22 13:45:13 +02:00
semantic-release-bot
3ee1c01430
chore(release): 1.5.0 [skip ci]
...
# [1.5.0](https://github.com/revanced/revanced-patcher/compare/v1.4.0...v1.5.0 ) (2022-06-22)
### Features
* use streams to write the dex files ([64bae88
](64bae884dc
))
2022-06-22 01:21:33 +00:00
oSumAtrIX
64bae884dc
feat: use streams to write the dex files
2022-06-22 03:19:39 +02:00
semantic-release-bot
e94a706949
chore(release): 1.4.0 [skip ci]
...
# [1.4.0](https://github.com/revanced/revanced-patcher/compare/v1.3.4...v1.4.0 ) (2022-06-22)
### Features
* return a `File` instance instead of `ExtFile` ([68174bb
](68174bbd6b
))
2022-06-22 00:55:56 +00:00
oSumAtrIX
89bb43066b
build: use dependencies as implementations instead of apis
2022-06-22 02:54:23 +02:00
oSumAtrIX
68174bbd6b
feat: return a File
instance instead of ExtFile
2022-06-22 02:53:37 +02:00
semantic-release-bot
d05c9416d6
chore(release): 1.3.4 [skip ci]
...
## [1.3.4](https://github.com/revanced/revanced-patcher/compare/v1.3.3...v1.3.4 ) (2022-06-21)
### Bug Fixes
* `String.toInstructions` defaulting `forStaticMethod` to `false` ([5a2f02b
](5a2f02b97d
)), closes [revanced/revanced-patches#46 ](https://github.com/revanced/revanced-patches/issues/46 )
2022-06-21 21:53:33 +00:00
oSumAtrIX
5a2f02b97d
fix: String.toInstructions
defaulting forStaticMethod
to false
...
Fixes revanced/revanced-patches#46
2022-06-21 23:52:09 +02:00
semantic-release-bot
a3005fa08e
chore(release): 1.3.3 [skip ci]
...
## [1.3.3](https://github.com/revanced/revanced-patcher/compare/v1.3.2...v1.3.3 ) (2022-06-21)
### Bug Fixes
* add docs (trigger release) ([6628b78
](6628b7870f
))
### Reverts
* propagate dependencies ([365e1d7
](365e1d7a45
))
2022-06-21 19:04:06 +00:00
Lucaskyy
6628b7870f
fix: add docs (trigger release)
2022-06-21 21:02:50 +02:00
Lucaskyy
a6411245aa
Merge remote-tracking branch 'origin/main' into main
2022-06-21 20:50:11 +02:00
Lucaskyy
365e1d7a45
revert: propagate dependencies
...
guess it doesn't work when not propagating them
2022-06-21 20:50:00 +02:00
semantic-release-bot
4507cd2353
chore(release): 1.3.2 [skip ci]
...
## [1.3.2](https://github.com/revanced/revanced-patcher/compare/v1.3.1...v1.3.2 ) (2022-06-21)
### Bug Fixes
* return resourceFile to caller ([1f75777
](1f75777cf9
))
2022-06-21 18:45:16 +00:00
Lucaskyy
1f75777cf9
fix: return resourceFile to caller
2022-06-21 20:43:47 +02:00
Lucaskyy
28d5468b07
build: do not propagate all dependencies
2022-06-21 20:29:37 +02:00
semantic-release-bot
746496125d
chore(release): 1.3.1 [skip ci]
...
## [1.3.1](https://github.com/revanced/revanced-patcher/compare/v1.3.0...v1.3.1 ) (2022-06-21)
### Bug Fixes
* `InlineSmaliCompiler.compile` using 0 registers instead of 1 by default ([835a421
](835a421cc0
))
2022-06-21 15:48:43 +00:00
oSumAtrIX
835a421cc0
fix: InlineSmaliCompiler.compile
using 0 registers instead of 1 by default
2022-06-21 17:46:43 +02:00
semantic-release-bot
99342fe033
chore(release): 1.3.0 [skip ci]
...
# [1.3.0](https://github.com/revanced/revanced-patcher/compare/v1.2.9...v1.3.0 ) (2022-06-20)
### Features
* `parametersCount` for `InlineSmaliCompiler` instead of `parameters` ([ad6c5c8
](ad6c5c8273
))
* simplify adding instructions ([e47b67d
](e47b67d7ec
))
2022-06-20 19:22:22 +00:00
oSumAtrIX
e47b67d7ec
feat: simplify adding instructions
2022-06-20 21:20:51 +02:00
oSumAtrIX
ad6c5c8273
feat: parametersCount
for InlineSmaliCompiler
instead of parameters
2022-06-20 20:10:11 +02:00
oSumAtrIX
fd690acd61
refactor: add internal attribute to signatures
field
2022-06-20 20:10:06 +02:00
semantic-release-bot
e698b02bf6
chore(release): 1.2.9 [skip ci]
...
## [1.2.9](https://github.com/revanced/revanced-patcher/compare/v1.2.8...v1.2.9 ) (2022-06-20)
### Bug Fixes
* update apktool ([ab866bb
](ab866bb8ef
))
2022-06-20 15:08:57 +00:00
Lucaskyy
ab866bb8ef
fix: update apktool
2022-06-20 17:07:04 +02:00
semantic-release-bot
714a98422d
chore(release): 1.2.8 [skip ci]
...
## [1.2.8](https://github.com/revanced/revanced-patcher/compare/v1.2.7...v1.2.8 ) (2022-06-18)
### Bug Fixes
* update apktool ([051afd9
](051afd98d0
))
2022-06-18 21:51:07 +00:00
Sculas
051afd98d0
fix: update apktool
2022-06-18 23:49:41 +02:00
semantic-release-bot
d38cf6a229
chore(release): 1.2.7 [skip ci]
...
## [1.2.7](https://github.com/revanced/revanced-patcher/compare/v1.2.6...v1.2.7 ) (2022-06-18)
### Bug Fixes
* version not working with apktool due to cache ([03f5ee0
](03f5ee088b
))
2022-06-18 21:17:22 +00:00
Sculas
03f5ee088b
fix: version not working with apktool due to cache
2022-06-18 23:15:33 +02:00
semantic-release-bot
5d0fd48b15
chore(release): 1.2.6 [skip ci]
...
## [1.2.6](https://github.com/revanced/revanced-patcher/compare/v1.2.5...v1.2.6 ) (2022-06-18)
### Bug Fixes
* remove javadoc jar (also trigger release) ([56f6ca3
](56f6ca3891
))
2022-06-18 20:54:29 +00:00
Sculas
56f6ca3891
fix: remove javadoc jar (also trigger release)
2022-06-18 22:52:49 +02:00
semantic-release-bot
9e0a74fcfb
chore(release): 1.2.5 [skip ci]
...
## [1.2.5](https://github.com/revanced/revanced-patcher/compare/v1.2.4...v1.2.5 ) (2022-06-17)
### Bug Fixes
* goodbye security ([8f3ac77
](8f3ac7702a
))
2022-06-17 16:13:47 +00:00
Sculas
8f3ac7702a
fix: goodbye security
2022-06-17 18:12:18 +02:00
semantic-release-bot
7b65f2d02c
chore(release): 1.2.4 [skip ci]
...
## [1.2.4](https://github.com/revanced/revanced-patcher/compare/v1.2.3...v1.2.4 ) (2022-06-15)
### Reverts
* "fix: enforce aapt v1" ([dfd8a24
](dfd8a24512
))
2022-06-15 19:41:28 +00:00
Lucaskyy
2a1b2df56b
Merge remote-tracking branch 'origin/main' into main
2022-06-15 21:39:42 +02:00
Lucaskyy
dfd8a24512
revert: "fix: enforce aapt v1"
...
This reverts commit cff87ff077
.
2022-06-15 21:39:27 +02:00
semantic-release-bot
a3efd212fc
chore(release): 1.2.3 [skip ci]
...
## [1.2.3](https://github.com/revanced/revanced-patcher/compare/v1.2.2...v1.2.3 ) (2022-06-14)
### Bug Fixes
* enforce aapt v1 ([cff87ff
](cff87ff077
))
2022-06-14 22:26:32 +00:00
Lucaskyy
3e610f7ba9
Merge remote-tracking branch 'origin/main' into main
2022-06-15 00:25:21 +02:00
Lucaskyy
cff87ff077
fix: enforce aapt v1
2022-06-15 00:25:06 +02:00
semantic-release-bot
54aa04ca34
chore(release): 1.2.2 [skip ci]
...
## [1.2.2](https://github.com/revanced/revanced-patcher/compare/v1.2.1...v1.2.2 ) (2022-06-14)
### Bug Fixes
* enforce aapt v2 ([b68b0bf
](b68b0bf3d7
))
2022-06-14 20:35:38 +00:00
Lucaskyy
0eda84eaef
Merge remote-tracking branch 'origin/main' into main
2022-06-14 22:34:21 +02:00
Lucaskyy
b68b0bf3d7
fix: enforce aapt v2
2022-06-14 22:34:10 +02:00
semantic-release-bot
c692202f67
chore(release): 1.2.1 [skip ci]
...
## [1.2.1](https://github.com/revanced/revanced-patcher/compare/v1.2.0...v1.2.1 ) (2022-06-14)
### Bug Fixes
* Patcher setting BuildOptions too late ([6a5c873
](6a5c8735fb
))
2022-06-14 16:25:08 +00:00
Lucaskyy
8ce3535427
Merge remote-tracking branch 'origin/main' into main
2022-06-14 18:23:49 +02:00
Lucaskyy
6a5c8735fb
fix: Patcher setting BuildOptions too late
...
This causes the Manager to crash, due to a stupid bug in Apktool which is prevented by setting a valid frameworkFolderLocation.
2022-06-14 18:23:40 +02:00
semantic-release-bot
8f32bc9c08
chore(release): 1.2.0 [skip ci]
...
# [1.2.0](https://github.com/revanced/revanced-patcher/compare/v1.1.0...v1.2.0 ) (2022-06-14)
### Features
* allow custom framework path to be specified ([d3a580e
](d3a580ea19
))
2022-06-14 15:50:24 +00:00
Lucaskyy
d3a580ea19
feat: allow custom framework path to be specified
2022-06-14 17:49:07 +02:00
oSumAtrIX
4c8eb0e5c7
refactor: gradle build script
2022-06-14 01:34:48 +02:00
semantic-release-bot
bc92eb7fd8
chore(release): 1.1.0 [skip ci]
...
# [1.1.0](https://github.com/revanced/revanced-patcher/compare/v1.0.0...v1.1.0 ) (2022-06-11)
### Bug Fixes
* resource patcher ([31815ca
](31815ca9ea
))
* update apktool to fork ([566ecef
](566ecefa2b
))
### Features
* allow custom aapt path to be specified ([8eb4a8f
](8eb4a8f87a
))
2022-06-11 23:25:19 +00:00
oSumAtrIX
cf89bd4171
Merge pull request #39 from revanced/non-root
...
fix: resource patcher
2022-06-12 01:24:04 +02:00
Lucaskyy
566ecefa2b
fix: update apktool to fork
2022-06-11 20:39:29 +02:00
Lucaskyy
8eb4a8f87a
feat: allow custom aapt path to be specified
2022-06-11 20:08:00 +02:00
oSumAtrIX
afcba5c212
refactor: simplify code by removing the with
block
2022-06-11 19:45:11 +02:00
oSumAtrIX
2dcbd8d079
refactor: use include
annotation parameter instead of excludeByDefault
2022-06-11 19:14:19 +02:00
oSumAtrIX
81895c7d5c
Merge remote-tracking branch 'origin/non-root' into non-root
...
# Conflicts:
# src/main/kotlin/app/revanced/patcher/Patcher.kt
2022-06-11 18:56:38 +02:00
Lucaskyy
22267883b1
refactor: get rid of all useless let blocks
2022-06-11 16:56:05 +02:00
oSumAtrIX
26fca60b53
refactor: use also
instead of let
where possible
2022-06-11 16:24:49 +02:00
oSumAtrIX
31815ca9ea
fix: resource patcher
2022-06-11 06:36:13 +02:00
semantic-release-bot
1ce6098cad
chore(release): 1.0.0 [skip ci]
...
# 1.0.0 (2022-06-05)
### Bug Fixes
* `compareSignatureToMethod` not matching correctly in case opcodes are null ([cca12aa
](cca12aa34a
))
* `ConcurrentModificationException` while iterating through `proxies` and modifying it ([6cb7cdb
](6cb7cdb0b2
))
* `JarPatchBundle` loading non-class files to class loader ([849616d
](849616dc2b
))
* `PackageMetadata` ([7399450
](7399450139
))
* `replaceWith` not replacing classes with used class proxies ([4178a1e
](4178a1eedc
))
* adding existing classes to the patchers cache ([9659a61
](9659a61c5c
))
* always return PatchResultSuccess on patch success ([996c4ac
](996c4acb20
))
* applying no patches throwing error ([5ca5a1c
](5ca5a1c29e
))
* applyPatches not returning successful patches ([f806cb3
](f806cb38c5
))
* avoid ignoring test resources (fixes [#1 ](https://github.com/revanced/revanced-patcher/issues/1 )) ([d5a3c76
](d5a3c76389
))
* Classes not being written properly because of array shifting ([6e4db11
](6e4db110c8
))
* current must be calculated after increment ([5f12bab
](5f12bab5df
))
* failing tests temporarily ([fc05fe7
](fc05fe79de
))
* fix classes having multiple instances of fields ([7cc8a7d
](7cc8a7dec3
))
* fix classes having multiple method instances ([398239d
](398239dc10
))
* Fixed writer & signature resolver, improved tests & speed, minor refactoring ([e6c2501
](e6c2501539
))
* fuzzy resolver warning params were turned around ([e5bea06
](e5bea06353
))
* give ClassWriter a ClassReader for symtable ([41749ba
](41749ba829
))
* **gradle:** publish source and javadocs ([c236ebe
](c236ebe078
))
* incorrect pattern offset ([f3b5f67
](f3b5f67b39
))
* **Io:** fix finding classes by name ([b957501
](b957501e70
))
* **Io:** JAR loading and saving ([#8 ](https://github.com/revanced/revanced-patcher/issues/8 )) ([310a7c4
](310a7c446b
))
* make `methodMetadata` nullable in `MethodSignatureMetadata` ([4e56652
](4e56652429
))
* make warnings nullable instead of lateinit ([8f1a629
](8f1a629191
))
* match to correct signature method parameters ([1ee2e4b
](1ee2e4ba56
))
* **MethodResolver:** fix cd57a8c9a0
([cbd8df2
](cbd8df2df0
))
* **MethodResolver:** strip labels and line numbers so opcode patterns match ([699c730
](699c730a7c
))
* **MethodResolver:** strip labels nodes so opcode patterns match ([82c5306
](82c530650f
))
* MethodSignature#resolved throwing an exception ([c612676
](c612676543
))
* Move proxy package out of cache package ([ce21bd6
](ce21bd60f3
))
* null check causing an exception ([338bd9f
](338bd9f739
))
* nullable signature members ([#10 ](https://github.com/revanced/revanced-patcher/issues/10 )) ([674461f
](674461f08d
))
* Patch should have access to the Cache ([4dd820f
](4dd820ffdf
))
* Patcher not writing resolved methods ([fac44a5
](fac44a50c3
))
* qualifying `Element` with wrong package ([024fa86
](024fa867e1
))
* reaching all constructors not possible ([c459beb
](c459beb5f8
))
* reformat (trigger release) ([bf48945
](bf4894592b
))
* remove broken code ([0e72a6e
](0e72a6e85f
))
* remove dependency to fork of Apktool ([11abc67
](11abc67d9a
))
* remove leftover debug code ([0f30eac
](0f30eac32c
))
* return mutable set of classes ([66a9b76
](66a9b76845
))
* returning failure on success ([48c4ea2
](48c4ea2f6d
))
* Search method map for existing class proxy ([a1e909b
](a1e909b163
))
* set index for insertAt to 0 by default ([d5b4c99
](d5b4c99c00
))
* set marklimit to Integer.MAX_VALUE ([e6e468f
](e6e468fbb5
))
* string signature in `SignatureResolver` ([e5ae970
](e5ae970009
))
* Suppress unused for addFiles ([3d6a1d3
](3d6a1d38f3
))
* throwing in case the opcode patterns do not match ([3144ec8
](3144ec872a
))
* use Array instead of Iterable for methodParameters ([dfac8f0
](dfac8f03a3
))
* using old instance of `Androlib` when saving ([a4d8be2
](a4d8be20fc
))
* workflow on dev branch ([428f7f4
](428f7f4dec
))
* write all classes ([f068fc8
](f068fc87ff
))
### Code Refactoring
* bump multidexlib2 to 2.5.2.r2 ([a6c6b49
](a6c6b4979a
))
* Change all references from Array to Iterable ([72f3cad
](72f3cad3f9
))
* convert Patch to abstract class ([cb9b1b9
](cb9b1b9416
))
* Optimize Signature class ([#11 ](https://github.com/revanced/revanced-patcher/issues/11 )) ([7faa001
](7faa001406
))
* Rename `net.revanced` to `app.revanced` ([7087230
](70872307e3
))
### Features
* `Dependencies` annotation ([893d4c6
](893d4c699b
))
* `PatchLoader` ([ec9fd15
](ec9fd15f9b
))
* Add `findParentMethod` utility method ([#4 ](https://github.com/revanced/revanced-patcher/issues/4 )) ([bbb2c54
](bbb2c547aa
))
* add `MethodWalker` ([7755bbc
](7755bbc645
))
* add `p` naming scheme to smali compiler ([79909cf
](79909cf260
))
* add extensions for cloning methods ([01bfbd6
](01bfbd656e
))
* add findClass method with className ([4087f49
](4087f49863
))
* Add first tests ([544bcf7
](544bcf76bd
))
* add fuzzy resolver ([7a56dca
](7a56dca004
))
* add immutableMethod ([c63b20f
](c63b20fa65
))
* add inline smali compiler ([bfe4e3e
](bfe4e3e298
))
* add missing test for fields ([6b8b057
](6b8b0573d4
))
* add or extension for AccessFlags ([00c85b5
](00c85b5d75
))
* Add patch metadata ([642e903
](642e9031eb
)), closes [ReVancedTeam/revanced-patches#1 ](https://github.com/ReVancedTeam/revanced-patches/issues/1 )
* add SafeClassWriter ([6626014
](6626014ef3
))
* Add warnings for Fuzzy resolver ([715a2ad
](715a2ad025
))
* allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([1db735b
](1db735b1e2
))
* Allow unknown opcodes using `null` ([0e5f4ba
](0e5f4ba2d5
))
* Finish first patcher test ([0d8d19e
](0d8d19e708
))
* Improve `SignatureResolver` ([139a23b
](139a23b750
))
* migrate to `DexPatchBundle` and `JarPatchBundle` ([8615798
](8615798711
))
* migrate to dexlib ([3651981
](3651981161
))
* Minor refactor and return proxy, if class has been proxied already ([4b26305
](4b26305bd5
))
* optional `forStaticMethod` parameter for `InlineSmaliCompiler.compileMethodInstructions` ([41e8860
](41e88605c3
))
* patch dependencies annotation and `PatcherOptions` ([6c65952
](6c65952d80
))
* properly manage `ClassProxy` & add `ProxyBackedClassList` ([6cb1fdf
](6cb1fdf617
))
* remaining mutable `EncodedValue` classes ([3f97cc8
](3f97cc8e1f
))
* string signature ([#22 ](https://github.com/revanced/revanced-patcher/issues/22 )) ([612515a
](612515acf8
))
* use annotations instead of metadata objects ([d20f7fd
](d20f7fd6e1
))
* utility functions to get metadata of patch & sigs ([54511a4
](54511a4fc6
))
### Performance Improvements
* check type instead of class ([c7ef264
](c7ef2644d8
))
* decode manifest only when not using resource patcher ([4f60bea
](4f60bea81e
))
* depend on `androlib` instead of `ApkDecoder` ([cc9416d
](cc9416dd11
))
* do not resolve empty signatures list ([b1eebc9
](b1eebc99a7
))
* lazy-ify all mutable clones ([d18a3b6
](d18a3b6a28
))
* optimize indexOf call away ([9991f39
](9991f39c9a
))
* use Set instead of List since there are no dupes ([e65ebd2
](e65ebd27c2
))
* use String List and compare instead of any lambda ([5bd416b
](5bd416b409
))
### Reverts
* AccessFlag extensions not working with IDE ([0bfb92a
](0bfb92a0cb
))
* previous commits check for dupes in dexFile, not cache ([e810197
](e810197e2a
))
### BREAKING CHANGES
* arrayOf has to be changed to listOf.
* Method signature of Patcher#save() was changed to comply with the changes of multidexlib2.
* Removed usage of ASM library
* Array<Int> was changed to IntArray. This breaks existing patches.
* Package name was changed from "net.revanced" to "app.revanced"
* Method signature of execute() was changed to include the cache, this will break existing implementations of the Patch class.
* Patch class is now an abstract class. You must implement it. You can use anonymous implements, like done in the tests.
2022-06-05 06:10:56 +00:00
semantic-release-bot
46a6396114
chore(release): 1.0.0-dev.18 [skip ci]
...
# [1.0.0-dev.18](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.17...v1.0.0-dev.18 ) (2022-06-04)
### Features
* `Dependencies` annotation ([83d608a
](83d608ac06
))
* optional `forStaticMethod` parameter for `InlineSmaliCompiler.compileMethodInstructions` ([28b9847
](28b98478e4
))
2022-06-05 08:03:41 +02:00
oSumAtrIX
41e88605c3
feat: optional forStaticMethod
parameter for InlineSmaliCompiler.compileMethodInstructions
2022-06-05 08:03:40 +02:00
oSumAtrIX
893d4c699b
feat: Dependencies
annotation
2022-06-05 08:03:40 +02:00
semantic-release-bot
bf8655ead8
chore(release): 1.0.0-dev.17 [skip ci]
...
# [1.0.0-dev.17](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.16...v1.0.0-dev.17 ) (2022-05-31)
### Features
* patch dependencies annotation and `PatcherOptions` ([8442991
](8442991290
))
2022-06-05 08:03:40 +02:00
oSumAtrIX
6c65952d80
feat: patch dependencies annotation and PatcherOptions
2022-06-05 08:03:39 +02:00
semantic-release-bot
26f3e7336b
chore(release): 1.0.0-dev.16 [skip ci]
...
# [1.0.0-dev.16](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.15...v1.0.0-dev.16 ) (2022-05-27)
### Bug Fixes
* `JarPatchBundle` loading non-class files to class loader ([3f0c740
](3f0c740200
))
* remove dependency to fork of Apktool ([0fa529f
](0fa529fcdf
))
### Features
* migrate to `DexPatchBundle` and `JarPatchBundle` ([7573db2
](7573db2575
))
2022-06-05 08:03:39 +02:00
oSumAtrIX
849616dc2b
fix: JarPatchBundle
loading non-class files to class loader
2022-06-05 08:03:38 +02:00
oSumAtrIX
e8a131fb08
chore: update gradlew wrapper
2022-06-05 08:03:38 +02:00
oSumAtrIX
11abc67d9a
fix: remove dependency to fork of Apktool
2022-06-05 08:03:38 +02:00
oSumAtrIX
8615798711
feat: migrate to DexPatchBundle
and JarPatchBundle
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:37 +02:00
semantic-release-bot
070e02ea28
chore(release): 1.0.0-dev.15 [skip ci]
...
# [1.0.0-dev.15](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.14...v1.0.0-dev.15 ) (2022-05-25)
### Features
* utility functions to get metadata of patch & sigs ([72f16b7
](72f16b7785
))
2022-06-05 08:03:37 +02:00
Lucaskyy
54511a4fc6
feat: utility functions to get metadata of patch & sigs
2022-06-05 08:03:37 +02:00
Lucaskyy
94f3c9116e
chore: fix typo
2022-06-05 08:03:36 +02:00
semantic-release-bot
fe56c0cadb
chore(release): 1.0.0-dev.14 [skip ci]
...
# [1.0.0-dev.14](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.13...v1.0.0-dev.14 ) (2022-05-24)
### Bug Fixes
* reformat (trigger release) ([45a167e
](45a167e785
))
2022-06-05 08:03:36 +02:00
Lucaskyy
bf4894592b
fix: reformat (trigger release)
2022-06-05 08:03:36 +02:00
Lucaskyy
5a96f2d99f
refactor: use apktool fork
...
also fixed some compilation issues
2022-06-05 08:03:35 +02:00
semantic-release-bot
839a5ef22a
chore(release): 1.0.0-dev.13 [skip ci]
...
# [1.0.0-dev.13](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.12...v1.0.0-dev.13 ) (2022-05-24)
### Performance Improvements
* decode manifest only when not using resource patcher ([40b1fa4
](40b1fa43e1
))
2022-06-05 08:03:35 +02:00
oSumAtrIX
0ebdb100fd
refactor: use resourceData.get(path)
instead of a reader/writer
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:35 +02:00
oSumAtrIX
4f60bea81e
perf: decode manifest only when not using resource patcher
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:34 +02:00
oSumAtrIX
1a49d9439f
chore: update kotlin jvm
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:34 +02:00
oSumAtrIX
5535eb4f01
refactor: improve ExampleResourcePatch
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:33 +02:00
oSumAtrIX
5dc6aa9bfd
chore: update dependencies
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:33 +02:00
semantic-release-bot
6c0d28191b
chore(release): 1.0.0-dev.12 [skip ci]
...
# [1.0.0-dev.12](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.11...v1.0.0-dev.12 ) (2022-05-22)
### Bug Fixes
* using old instance of `Androlib` when saving ([5630e49
](5630e49663
))
2022-06-05 08:03:33 +02:00
semantic-release-bot
9d067b9b0d
chore(release): 1.0.0-dev.11 [skip ci]
...
# [1.0.0-dev.11](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.10...v1.0.0-dev.11 ) (2022-05-22)
### Features
* `PatchLoader` ([1a99eca
](1a99ecaffe
))
* use annotations instead of metadata objects ([6726884
](6726884be5
))
2022-06-05 08:03:32 +02:00
oSumAtrIX
a4d8be20fc
fix: using old instance of Androlib
when saving
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:32 +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
semantic-release-bot
ebbcf78e56
chore(release): 1.0.0-dev.10 [skip ci]
...
# [1.0.0-dev.10](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.9...v1.0.0-dev.10 ) (2022-05-07)
### Bug Fixes
* qualifying `Element` with wrong package ([4d74de4
](4d74de4061
))
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
semantic-release-bot
e506d8fd8c
chore(release): 1.0.0-dev.9 [skip ci]
...
# [1.0.0-dev.9](https://github.com/revanced/revanced-patcher/compare/v1.0.0-dev.8...v1.0.0-dev.9 ) (2022-05-07)
### Bug Fixes
* `compareSignatureToMethod` not matching correctly in case opcodes are null ([5ae5e98
](5ae5e98f1f
))
* `ConcurrentModificationException` while iterating through `proxies` and modifying it ([bfeeaf4
](bfeeaf4435
))
* `PackageMetadata` ([305a817
](305a81793a
))
* `replaceWith` not replacing classes with used class proxies ([f0f3403
](f0f34031dd
))
* adding existing classes to the patchers cache ([4281546
](4281546f69
))
* always return PatchResultSuccess on patch success ([866b03a
](866b03af21
))
* applying no patches throwing error ([f88c118
](f88c11820d
))
* applyPatches not returning successful patches ([8b70bb4
](8b70bb4290
))
* Classes not being written properly because of array shifting ([1471956
](147195647c
))
* failing tests temporarily ([66b08f8
](66b08f8b3a
))
* fix classes having multiple instances of fields ([b711b80
](b711b8001e
))
* fix classes having multiple method instances ([12c10d8
](12c10d8c64
))
* Fixed writer & signature resolver, improved tests & speed, minor refactoring ([bb42fa3
](bb42fa3c6f
))
* fuzzy resolver warning params were turned around ([d49df10
](d49df10a3c
))
* incorrect pattern offset ([03700ff
](03700ffa51
))
* make `methodMetadata` nullable in `MethodSignatureMetadata` ([864e38c
](864e38c069
))
* make warnings nullable instead of lateinit ([04b49b8
](04b49b8b66
))
* match to correct signature method parameters ([c49071a
](c49071aff7
))
* MethodSignature#resolved throwing an exception ([82b1e66
](82b1e66d54
))
* Move proxy package out of cache package ([6bc4e7e
](6bc4e7eab7
))
* null check causing an exception ([560c485
](560c485ab0
))
* Patcher not writing resolved methods ([d15240d
](d15240d033
))
* reaching all constructors not possible ([37fa994
](37fa9949ec
))
* remove leftover debug code ([4458141
](4458141d6d
))
* return mutable set of classes ([84bc7e0
](84bc7e0dc7
))
* returning failure on success ([3b68d5c
](3b68d5c65e
))
* Search method map for existing class proxy ([d5e694c
](d5e694c306
))
* string signature in `SignatureResolver` ([ac36d19
](ac36d19693
))
* Suppress unused for addFiles ([a0d6d46
](a0d6d46217
))
* throwing in case the opcode patterns do not match ([f72dd68
](f72dd68ec5
))
* use Array instead of Iterable for methodParameters ([312235b
](312235b194
))
* write all classes ([6ad51aa
](6ad51aad9a
))
### Code Refactoring
* bump multidexlib2 to 2.5.2.r2 ([32e6458
](32e645850d
))
* Change all references from Array to Iterable ([264989f
](264989f488
))
### Features
* add `MethodWalker` ([659e108
](659e1087c9
))
* add `p` naming scheme to smali compiler ([38556d6
](38556d61ab
))
* add extensions for cloning methods ([df7503b
](df7503b47b
))
* add findClass method with className ([78235d1
](78235d1abe
))
* Add first tests ([6767c8f
](6767c8fbc1
))
* add fuzzy resolver ([a492808
](a492808021
))
* add immutableMethod ([eed1cfd
](eed1cfda7b
))
* add inline smali compiler ([dbafe2a
](dbafe2ab37
))
* add missing test for fields ([4022b8b
](4022b8b847
))
* add or extension for AccessFlags ([aec5eeb
](aec5eeb597
))
* Add patch metadata ([8544fc4
](8544fc4cbc
)), closes [ReVancedTeam/revanced-patches#1 ](https://github.com/ReVancedTeam/revanced-patches/issues/1 )
* Add warnings for Fuzzy resolver ([643a14e
](643a14e664
))
* allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called ([5f71a34
](5f71a342ac
))
* Allow unknown opcodes using `null` ([f4a47d4
](f4a47d4dc8
))
* Finish first patcher test ([a9e4e8a
](a9e4e8ac32
))
* Improve `SignatureResolver` ([88a6a27
](88a6a27302
))
* migrate to dexlib ([be51f42
](be51f42710
))
* Minor refactor and return proxy, if class has been proxied already ([2d3c611
](2d3c61113d
))
* properly manage `ClassProxy` & add `ProxyBackedClassList` ([2319787
](23197879b2
))
* remaining mutable `EncodedValue` classes ([7d38bb0
](7d38bb0baa
))
* string signature ([#22 ](https://github.com/revanced/revanced-patcher/issues/22 )) ([c245edb
](c245edb0c5
))
### Performance Improvements
* depend on `androlib` instead of `ApkDecoder` ([e5c054a
](e5c054ac2f
))
* do not resolve empty signatures list ([1f7bf3a
](1f7bf3ac6c
))
* lazy-ify all mutable clones ([05e4400
](05e44007d8
))
* optimize indexOf call away ([f8e978a
](f8e978af88
))
* use Set instead of List since there are no dupes ([6221387
](622138736d
))
* use String List and compare instead of any lambda ([aed4fd9
](aed4fd9a3c
))
### Reverts
* AccessFlag extensions not working with IDE ([e161f7f
](e161f7fea4
))
* previous commits check for dupes in dexFile, not cache ([433914f
](433914feda
))
### BREAKING CHANGES
* arrayOf has to be changed to listOf.
* Method signature of Patcher#save() was changed to comply with the changes of multidexlib2.
* Removed usage of ASM library
2022-06-05 08:03:30 +02:00
oSumAtrIX
f5b5c52e55
chore: bump java-version
for action setup-java
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:30 +02:00
oSumAtrIX
fc05fe79de
fix: failing tests temporarily
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de >
2022-06-05 08:03:29 +02:00
j4k0xb
79909cf260
feat: add p
naming scheme to smali compiler
2022-06-05 08:03:29 +02:00
autergame
8f12873200
Replace ReVancedTeam with revanced in build.gradle.kts
2022-06-05 08:03:29 +02:00
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
Lucaskyy
5b28523eea
add: optional callback for CLI
2022-06-05 08:03:10 +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
oSumAtrIX
9659a61c5c
fix: adding existing classes to the patchers cache
2022-06-05 08:03:10 +02:00
Lucaskyy
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
Lucaskyy
6e4db110c8
fix: Classes not being written properly because of array shifting
...
We now use a MutableList to replace it at the proper index, and use a ListBackedSet, so we don't copy List's to Set's for no reason.
This was a very bad issue. The array was shifted every time we removed the original class, the fact we even got a "working" dex file surprises me. Thankfully, this issue is now solved, and we lived happily after.
2022-06-05 08:03:09 +02:00
Lucaskyy
e810197e2a
revert: previous commits check for dupes in dexFile, not cache
...
This reverts commit aed4fd9a3c
.
This reverts commit 622138736d
.
2022-06-05 08:03:08 +02:00
Lucaskyy
e65ebd27c2
perf: use Set instead of List since there are no dupes
2022-06-05 08:03:08 +02:00
Lucaskyy
5bd416b409
perf: use String List and compare instead of any lambda
2022-06-05 08:03:08 +02:00
Lucaskyy
a6c6b4979a
refactor: bump multidexlib2 to 2.5.2.r2
...
BREAKING CHANGE: Method signature of Patcher#save() was changed to comply with the changes of multidexlib2.
2022-06-05 08:03:07 +02:00
Lucaskyy
db10ab03be
ci: Fix Unauthorized error
2022-06-05 08:03:07 +02:00
Lucaskyy
94dbb573cf
refactor: bump multidexlib2, dexlib2 and smali
2022-06-05 08:03:07 +02:00
oSumAtrIX
08253ee010
add: addFiles
method to merge additional dex containers
2022-06-05 08:03:06 +02:00
oSumAtrIX
3144ec872a
fix: throwing in case the opcode patterns do not match
2022-06-05 08:03:06 +02:00
Lucaskyy
48c4ea2f6d
fix: returning failure on success
...
oh wow, that's an oopsie
2022-06-05 08:03:06 +02:00
Lucaskyy
c63b20fa65
feat: add immutableMethod
...
added docs
2022-06-05 08:03:05 +02:00
Lucaskyy
f806cb38c5
fix: applyPatches not returning successful patches
2022-06-05 08:03:05 +02:00
Lucaskyy
6c3e2d79ea
chore: format code
2022-06-05 08:03:05 +02:00
oSumAtrIX
cca12aa34a
fix: compareSignatureToMethod
not matching correctly in case opcodes are null
2022-06-05 08:03:04 +02:00
Lucaskyy
c267b12a7d
refactor: make method a property
2022-06-05 08:03:04 +02:00
Lucaskyy
eef448cc39
refactor: cleanup SignatureResolver.kt
2022-06-05 08:03:04 +02:00
Lucaskyy
45303f66ec
test: fix test with previous changes
2022-06-05 08:03:03 +02:00
Lucaskyy
783fbf43f2
refactor: rename resolveAndGetMethod to method
2022-06-05 08:03:03 +02:00
Lucaskyy
59189058ac
refactor: cleanup Patcher.kt
2022-06-05 08:03:03 +02:00
Lucaskyy
dfac8f03a3
fix: use Array instead of Iterable for methodParameters
2022-06-05 08:03:02 +02:00
Lucaskyy
b44bf4c267
chore: move replace extension method to Extensions.kt
2022-06-05 08:03:02 +02:00
Lucaskyy
066ad274ed
docs: fixup
2022-06-05 08:03:02 +02:00
Lucaskyy
a8653fe6a0
chore: publish jar with dependencies
2022-06-05 08:03:01 +02:00
oSumAtrIX
139a23b750
feat: Improve SignatureResolver
2022-06-05 08:03:01 +02:00
oSumAtrIX
0d8d19e708
feat: Finish first patcher test
2022-06-05 08:03:00 +02:00
oSumAtrIX
a1e909b163
fix: Search method map for existing class proxy
2022-06-05 08:03:00 +02:00
oSumAtrIX
e4157332d3
add: MutableMethodImplementation.addInstructions
extension
2022-06-05 08:03:00 +02:00
oSumAtrIX
923efc4caf
add: TODO for mutable encoded value clones
2022-06-05 08:02:59 +02:00
oSumAtrIX
bea0cbc550
refactor: lazy initialize implementation field for mutable methods
2022-06-05 08:02:59 +02:00
oSumAtrIX
1ee2e4ba56
fix: match to correct signature method parameters
2022-06-05 08:02:59 +02:00
oSumAtrIX
fac44a50c3
fix: Patcher not writing resolved methods
2022-06-05 08:02:58 +02:00
oSumAtrIX
544bcf76bd
feat: Add first tests
2022-06-05 08:02:58 +02:00
oSumAtrIX
a16c8cabf2
refactor: Improve SignatureResolver
2022-06-05 08:02:58 +02:00
oSumAtrIX
2777117da2
refactor: Use String
instead of CharSequence
for method parameter signature
2022-06-05 08:02:57 +02:00
oSumAtrIX
66a9b76845
fix: return mutable set of classes
2022-06-05 08:02:57 +02:00
oSumAtrIX
f068fc87ff
fix: write all classes
2022-06-05 08:02:57 +02:00
oSumAtrIX
7cc8a7dec3
fix: fix classes having multiple instances of fields
2022-06-05 08:02:56 +02:00
oSumAtrIX
398239dc10
fix: fix classes having multiple method instances
2022-06-05 08:02:56 +02:00
Lucaskyy
d18a3b6a28
perf: lazy-ify all mutable clones
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
4087f49863
feat: add findClass method with className
2022-06-05 08:02:54 +02:00
Lucaskyy
00c85b5d75
feat: add or extension for AccessFlags
2022-06-05 08:02:54 +02:00
Lucaskyy
cb78c5a86f
style: reformat code
2022-06-05 08:02:54 +02:00
Lucaskyy
9991f39c9a
perf: optimize indexOf call away
2022-06-05 08:02:53 +02:00
oSumAtrIX
650bf71124
docs: Document important parts of the code
2022-06-05 08:02:53 +02:00
oSumAtrIX
1dd3394ea3
refactor: Replacing original classes with mutated ones
2022-06-05 08:02:53 +02:00
oSumAtrIX
e6c2501539
fix: Fixed writer & signature resolver, improved tests & speed, minor refactoring
2022-06-05 08:02:52 +02:00
oSumAtrIX
4b26305bd5
feat: Minor refactor and return proxy, if class has been proxied already
2022-06-05 08:02:52 +02:00
oSumAtrIX
ce21bd60f3
fix: Move proxy package out of cache package
2022-06-05 08:02:51 +02:00
oSumAtrIX
3651981161
feat: migrate to dexlib
...
BREAKING CHANGE: Removed usage of ASM library
2022-06-05 08:02:51 +02:00
semantic-release-bot
6299b9e951
chore(release): 1.0.0-dev.8 [skip ci]
...
# [1.0.0-dev.8](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.7...v1.0.0-dev.8 ) (2022-03-24)
### Performance Improvements
* check type instead of class ([47eb493
](47eb493f54
))
2022-06-05 08:02:51 +02:00
semantic-release-bot
24b544708f
chore(release): 1.0.0-dev.7 [skip ci]
...
# [1.0.0-dev.7](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.6...v1.0.0-dev.7 ) (2022-03-24)
### Bug Fixes
* **MethodResolver:** fix cd57a8c9a0
([1af31b2
](1af31b2aa3
))
2022-06-05 08:02:50 +02:00
Lucaskyy
c7ef2644d8
perf: check type instead of class
...
this is way better, thank you oSumAtrIX!
2022-06-05 08:02:50 +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
semantic-release-bot
f3d8b917de
chore(release): 1.0.0-dev.6 [skip ci]
...
# [1.0.0-dev.6](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.5...v1.0.0-dev.6 ) (2022-03-24)
### Bug Fixes
* **MethodResolver:** strip labels nodes so opcode patterns match ([cd57a8c
](cd57a8c9a0
))
2022-06-05 08:02:49 +02:00
Lucaskyy
82c530650f
fix(MethodResolver): strip labels nodes so opcode patterns match
...
this commit is also a fix for 8d1bb5f3d9
because it corrupted the stack by completely removing the nodes
2022-06-05 08:02:49 +02:00
semantic-release-bot
81d0cf20f3
chore(release): 1.0.0-dev.5 [skip ci]
...
# [1.0.0-dev.5](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.4...v1.0.0-dev.5 ) (2022-03-24)
### Bug Fixes
* **MethodResolver:** strip labels and line numbers so opcode patterns match ([8d1bb5f
](8d1bb5f3d9
))
2022-06-05 08:02:48 +02:00
Lucaskyy
36d4f71325
refactor: log as trace instead of debug
...
so there's less spam in console
2022-06-05 08:02:48 +02:00
Lucaskyy
699c730a7c
fix(MethodResolver): strip labels and line numbers so opcode patterns match
2022-06-05 08:02:48 +02:00
Lucaskyy
b197956e39
refactor: only compute maxs and use existing stack frames
2022-06-05 08:02:47 +02:00
semantic-release-bot
be992a3e6f
chore(release): 1.0.0-dev.4 [skip ci]
...
# [1.0.0-dev.4](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.3...v1.0.0-dev.4 ) (2022-03-23)
### Bug Fixes
* give ClassWriter a ClassReader for symtable ([e8f6973
](e8f6973938
))
2022-06-05 08:02:47 +02:00
semantic-release-bot
e0437397df
chore(release): 1.0.0-dev.3 [skip ci]
...
# [1.0.0-dev.3](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.2...v1.0.0-dev.3 ) (2022-03-23)
### Features
* add SafeClassWriter ([ca6b94d
](ca6b94d943
))
2022-06-05 08:02:47 +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
semantic-release-bot
8161ce4fa6
chore(release): 1.0.0-dev.2 [skip ci]
...
# [1.0.0-dev.2](https://github.com/ReVancedTeam/revanced-patcher/compare/v1.0.0-dev.1...v1.0.0-dev.2 ) (2022-03-23)
### Bug Fixes
* set marklimit to Integer.MAX_VALUE ([ab6453c
](ab6453ca8a
))
2022-06-05 08:02:46 +02:00
Lucaskyy
6626014ef3
feat: add SafeClassWriter
...
the standard ClassWriter implementation uses the ClassLoader to find a common superclass. this won't work for us since we are not loading the JAR into the classpath. using this SafeClassWriter should fix that issue.
2022-06-05 08:02:46 +02:00
Lucaskyy
e6e468fbb5
fix: set marklimit to Integer.MAX_VALUE
2022-06-05 08:02:45 +02:00
semantic-release-bot
2fabbdf71b
chore(release): 1.0.0-dev.1 [skip ci]
...
# 1.0.0-dev.1 (2022-03-23)
### Bug Fixes
* avoid ignoring test resources (fixes [#1 ](https://github.com/ReVancedTeam/revanced-patcher/issues/1 )) ([d5a3c76
](d5a3c76389
))
* current must be calculated after increment ([5f12bab
](5f12bab5df
))
* **gradle:** publish source and javadocs ([87bbde5
](87bbde5e06
))
* **Io:** fix finding classes by name ([460d62a
](460d62a24c
))
* **Io:** JAR loading and saving ([#8 ](https://github.com/ReVancedTeam/revanced-patcher/issues/8 )) ([4d98cbc
](4d98cbc9e8
))
* nullable signature members ([#10 ](https://github.com/ReVancedTeam/revanced-patcher/issues/10 )) ([8db8893
](8db8893ab1
))
* Patch should have access to the Cache ([6c0f082
](6c0f0823c9
))
* remove broken code ([0e72a6e
](0e72a6e85f
))
* set index for insertAt to 0 by default ([1769132
](1769132a9e
))
* workflow on dev branch ([7e67daf
](7e67daf878
))
### Code Refactoring
* convert Patch to abstract class ([23e897a
](23e897a7a9
))
* Optimize Signature class ([#11 ](https://github.com/ReVancedTeam/revanced-patcher/issues/11 )) ([49beec9
](49beec9fc6
))
* Rename `net.revanced` to `app.revanced` ([3ab42a9
](3ab42a932c
))
### Features
* Add `findParentMethod` utility method ([#4 ](https://github.com/ReVancedTeam/revanced-patcher/issues/4 )) ([00c6ab7
](00c6ab7faf
))
### BREAKING CHANGES
* Array<Int> was changed to IntArray. This breaks existing patches.
* Package name was changed from "net.revanced" to "app.revanced"
* Method signature of execute() was changed to include the cache, this will break existing implementations of the Patch class.
* Patch class is now an abstract class. You must implement it. You can use anonymous implements, like done in the tests.
2022-06-05 08:02:45 +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
Lucaskyy
c236ebe078
fix(gradle): publish source and javadocs
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
Bleuzen
b957501e70
fix(Io): fix finding classes by name
2022-06-05 08:02:42 +02:00
Lucaskyy
b6ca31a970
chore: push IntelliJ project files
2022-06-05 08:02:42 +02:00
Lucaskyy
cbcf93f7d6
refactor: target java 8 instead of java 17
2022-06-05 08:02:41 +02:00
Lucaskyy
d5b4c99c00
fix: set index for insertAt to 0 by default
2022-06-05 08:02:41 +02:00
Lucaskyy
4dd820ffdf
fix: Patch should have access to the Cache
...
BREAKING CHANGE: Method signature of execute() was changed to include the cache, this will break existing implementations of the Patch class.
2022-06-05 08:02:41 +02:00
Lucaskyy
cb9b1b9416
refactor: convert Patch to abstract class
...
BREAKING CHANGE: Patch class is now an abstract class. You must implement it. You can use anonymous implements, like done in the tests.
2022-06-05 08:02:40 +02:00
Lucaskyy
428f7f4dec
fix: workflow on dev branch
2022-06-05 08:02:40 +02:00
Lucaskyy
77536cce8f
style: remove tab
2022-06-05 08:02:39 +02:00
she11sh0cked
7b6a61b674
ci: add gradle-semantic-release-plugin
and remove the github release assets
2022-06-05 08:02:39 +02:00
she11sh0cked
7f5f3b217d
ci: add semantic-release
2022-06-05 08:02:39 +02:00