Lucaskyy
cd57a8c9a0
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-03-24 22:48:34 +01:00
Lucaskyy
0d3beb353d
Merge remote-tracking branch 'origin/dev' into dev
2022-03-24 21:38:22 +01:00
Lucaskyy
ddef338631
refactor: log as trace instead of debug
...
so there's less spam in console
2022-03-24 21:38:13 +01:00
semantic-release-bot
fc4b673087
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-03-24 20:30:54 +00:00
Lucaskyy
8d1bb5f3d9
fix(MethodResolver): strip labels and line numbers so opcode patterns match
2022-03-24 21:27:44 +01:00
Lucaskyy
c8a017a4c0
refactor: only compute maxs and use existing stack frames
2022-03-24 19:45:13 +01:00
semantic-release-bot
51fb59a43c
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-03-23 22:02:18 +00:00
Lucaskyy
a78715133c
Merge remote-tracking branch 'origin/dev' into dev
2022-03-23 23:01:20 +01:00
Lucaskyy
e8f6973938
fix: give ClassWriter a ClassReader for symtable
...
removed SafeClassWriter as it was unused
2022-03-23 23:01:13 +01:00
semantic-release-bot
3cb1e01587
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-03-23 21:34:05 +00:00
Lucaskyy
cb4ee207e1
Merge remote-tracking branch 'origin/dev' into dev
2022-03-23 22:32:58 +01:00
Lucaskyy
ca6b94d943
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-03-23 22:32:50 +01:00
semantic-release-bot
6cdb6887d4
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-03-23 21:10:02 +00:00
Lucaskyy
ab6453ca8a
fix: set marklimit to Integer.MAX_VALUE
2022-03-23 22:08:51 +01:00
semantic-release-bot
e8182c17ad
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-03-23 19:01:41 +00:00
Lucaskyy
49beec9fc6
refactor: Optimize Signature class ( #11 )
...
BREAKING CHANGE: Array<Int> was changed to IntArray. This breaks existing patches.
2022-03-23 20:00:35 +01:00
Lucaskyy
3ab42a932c
refactor: Rename net.revanced
to app.revanced
...
BREAKING CHANGE: Package name was changed from "net.revanced" to "app.revanced"
2022-03-23 19:56:37 +01:00
oSumAtrIX
4d98cbc9e8
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-03-23 19:56:35 +01:00
Lucaskyy
87bbde5e06
fix(gradle): publish source and javadocs
2022-03-23 19:56:34 +01:00
oSumAtrIX
8db8893ab1
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-03-23 19:56:33 +01:00
oSumAtrIX
00c6ab7faf
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-03-23 19:56:31 +01:00
Bleuzen
460d62a24c
fix(Io): fix finding classes by name
2022-03-23 19:55:40 +01:00
Lucaskyy
89e4b9f762
chore: push IntelliJ project files
2022-03-23 19:55:39 +01:00
Lucaskyy
a8fd7c00c3
refactor: target java 8 instead of java 17
2022-03-23 19:55:38 +01:00
Lucaskyy
1769132a9e
fix: set index for insertAt to 0 by default
2022-03-23 19:55:37 +01:00
Lucaskyy
6c0f0823c9
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-03-23 19:55:35 +01:00
Lucaskyy
23e897a7a9
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-03-23 19:55:34 +01:00
Lucaskyy
7e67daf878
fix: workflow on dev branch
2022-03-20 20:42:55 +01:00
Lucaskyy
593c83f29f
style: remove tab
2022-03-20 20:39:47 +01:00
Sculas
72e123dd01
Merge pull request #3 from ReVancedTeam/ci-semantic-release
...
ci: add semantic-release
2022-03-20 20:34:31 +01:00
Lucaskyy
5ecbbfc954
chore: fix credentials for publishing
2022-03-20 20:32:17 +01:00
Lucaskyy
cd1baabe2e
chore: publish package to GitHub Packages
2022-03-20 20:30:51 +01:00
Lucaskyy
b3762bd5c7
chore: move version to properties
2022-03-20 20:22:51 +01:00
she11sh0cked
599a401ed9
ci: add gradle-semantic-release-plugin
and remove the github release assets
2022-03-20 19:32:20 +01:00
Lucaskyy
6b1cec4a43
test: add test for multiple classes in jar
2022-03-20 19:05:24 +01:00
she11sh0cked
3f8500b059
ci: add semantic-release
2022-03-20 19:03:05 +01:00
Lucaskyy
5f12bab5df
fix: current must be calculated after increment
2022-03-20 16:57:33 +01:00
Lucaskyy
ec8115f3ac
test: improve PatcherTest
2022-03-20 16:28:23 +01:00
Lucaskyy
0e72a6e85f
fix: remove broken code
...
accidentally committed TestUtil in previous commit, this allows it to compile again
2022-03-20 15:57:05 +01:00
Lucaskyy
d5a3c76389
fix: avoid ignoring test resources ( fixes #1 )
2022-03-20 15:54:41 +01:00
oSumAtrIX
ded2538605
Renamed Jar2ASM
to Io
due to reader & writer class
2022-03-20 03:19:13 +01:00
oSumAtrIX
5d146c362f
Improve example test testPatcher
and increase caching speed
2022-03-20 03:06:23 +01:00
Sculas
81e0220d15
License ReVanced Patcher under GPLv3
2022-03-20 00:16:53 +01:00
Lucaskyy
29f1595183
WIP Saving
2022-03-19 23:58:37 +01:00
Lucaskyy
57d5751b2c
Add saveTo test
2022-03-19 23:33:17 +01:00
Lucaskyy
8c56d15823
Finish tests, add InsnList.setAt
, sr -> sd
...
Added some sweet explanation too.
2022-03-19 23:15:20 +01:00
Lucaskyy
61c0541ef5
Add information about test data in PatcherTest
2022-03-19 23:01:10 +01:00
Lucaskyy
f45dd511f3
Cleanup
2022-03-19 22:53:30 +01:00
Lucaskyy
fc64bbc32a
Minor things
2022-03-19 22:53:05 +01:00
Lucaskyy
e5f9a42ee6
Convert typed Object & Array types to Object types
...
Commit name is a bit superfluous, but it means that types such as "Ljava/lang/String;" get converted to "Ljava/lang/Object;". This is so we don't need to know the mappings, which are random in YT's code.
This is done in MethodResolver's "convertObject" and "convertObjects" for arrays.
Also changed ExtraTypes.ArrayAny to Object instead of String, that was a mistake. (which caused the test to pass at first)
2022-03-19 22:34:41 +01:00