oSumAtrIX
ec6d462ade
refactor: Use String instead of CharSequence for method parameter signature
2022-04-06 01:25:10 +02:00
oSumAtrIX
84bc7e0dc7
fix: return mutable set of classes
2022-04-06 01:23:53 +02:00
oSumAtrIX
6ad51aad9a
fix: write all classes
2022-04-05 04:45:43 +02:00
oSumAtrIX
b711b8001e
fix: fix classes having multiple instances of fields
2022-04-05 03:54:16 +02:00
oSumAtrIX
12c10d8c64
fix: fix classes having multiple method instances
2022-04-05 03:52:00 +02:00
Lucaskyy
05e44007d8
perf: lazy-ify all mutable clones
2022-04-03 23:52:36 +02:00
Lucaskyy
dbafe2ab37
feat: add inline smali compiler
2022-04-03 23:51:01 +02:00
Lucaskyy
45a885dbde
test: use findClass with className & cleanup
2022-03-31 23:22:57 +02:00
Lucaskyy
78235d1abe
feat: add findClass method with className
2022-03-31 23:22:14 +02:00
Lucaskyy
aec5eeb597
feat: add or extension for AccessFlags
2022-03-31 22:46:46 +02:00
Lucaskyy
d98c9eeb30
style: reformat code
2022-03-31 22:46:12 +02:00
Lucaskyy
f8e978af88
perf: optimize indexOf call away
2022-03-31 22:45:22 +02:00
oSumAtrIX
86cb053566
docs: Document important parts of the code
2022-03-31 19:25:46 +02:00
oSumAtrIX
c1ccb70de4
refactor: Replacing original classes with mutated ones
2022-03-31 18:56:36 +02:00
oSumAtrIX
bb42fa3c6f
fix: Fixed writer & signature resolver, improved tests & speed, minor refactoring
2022-03-31 18:37:35 +02:00
oSumAtrIX
2d3c61113d
feat: Minor refactor and return proxy, if class has been proxied already
2022-03-30 19:15:00 +02:00
oSumAtrIX
6bc4e7eab7
fix: Move proxy package out of cache package
2022-03-30 15:12:47 +02:00
oSumAtrIX
be51f42710
feat: migrate to dexlib
...
BREAKING CHANGE: Removed usage of ASM library
2022-03-30 15:10:18 +02:00
semantic-release-bot
fa0412985c
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 ))
v1.0.0-dev.8
2022-03-24 22:38:45 +00:00
Lucaskyy
0048788dd0
Merge remote-tracking branch 'origin/dev' into dev
2022-03-24 23:37:34 +01:00
Lucaskyy
47eb493f54
perf: check type instead of class
...
this is way better, thank you oSumAtrIX!
2022-03-24 23:37:28 +01:00
semantic-release-bot
6b1337e4fc
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 ))
v1.0.0-dev.7
2022-03-24 22:31:58 +00:00
Lucaskyy
f4589db3a9
test: fix assert message
2022-03-24 23:31:01 +01:00
Lucaskyy
1af31b2aa3
fix(MethodResolver): fix cd57a8c9a0
2022-03-24 23:29:32 +01:00
semantic-release-bot
14f7667156
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 ))
v1.0.0-dev.6
2022-03-24 21:49:47 +00:00
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 ))
v1.0.0-dev.5
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 ))
v1.0.0-dev.4
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 ))
v1.0.0-dev.3
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 ))
v1.0.0-dev.2
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.
v1.0.0-dev.1
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