Commit Graph

28 Commits

Author SHA1 Message Date
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
Lucaskyy
8d1bb5f3d9 fix(MethodResolver): strip labels and line numbers so opcode patterns match 2022-03-24 21:27:44 +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
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
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
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
6b1cec4a43 test: add test for multiple classes in jar 2022-03-20 19:05:24 +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
5d146c362f Improve example test testPatcher and increase caching speed 2022-03-20 03:06:23 +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
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
Lucaskyy
f9327a2043 executePatches -> applyPatches, made logback a test dep 2022-03-19 21:58:31 +01:00
Lucaskyy
ae5007ebd1 Fix tests (stupid mistake) & add logging 2022-03-19 19:47:12 +01:00
Lucaskyy
a9e7f19d51 Refactor Patcher 2022-03-19 18:35:41 +01:00
oSumAtrIX
6666c7a4b7 Add: MethodResolver, PatternScanner, SignatureLoader & Cache 2022-03-19 01:37:02 +01:00
Lucaskyy
7b40d53bd3 TIL CodeWithMe is ass! 2022-03-18 21:52:00 +01:00
Lucaskyy
675c409a59 Rework patcher 2022-03-18 20:46:24 +01:00