oSumAtrIX
4022b8b847
feat: add missing test for fields
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-04-13 02:59:06 +02:00
oSumAtrIX
8daf877fac
style: reformat code
...
Signed-off-by: oSumAtrIX <johan.melkonyan1@web.de>
2022-04-13 02:47:53 +02:00
oSumAtrIX
7d38bb0baa
feat: remaining mutable EncodedValue
classes
2022-04-13 00:19:09 +02:00
Lucaskyy
5f71a342ac
feat: allow classes to be overwritten in addFiles and resolve signatures when applyPatches is called
2022-04-12 19:11:07 +02:00
Lucaskyy
866b03af21
fix: always return PatchResultSuccess on patch success
2022-04-11 17:34:43 +02:00
Lucaskyy
4c1a42b216
add: optional callback for CLI
2022-04-11 17:27:12 +02:00
Lucaskyy
264989f488
refactor: Change all references from Array to Iterable
...
BREAKING CHANGE: arrayOf has to be changed to listOf.
2022-04-11 16:29:53 +02:00
oSumAtrIX
4281546f69
fix: adding existing classes to the patchers cache
2022-04-11 03:52:04 +02:00
Lucaskyy
af4f2396c7
chore: update kotlin, don't shade deps, publish to maven local, make deps api instead of implementation
2022-04-10 00:52:32 +02:00
Lucaskyy
147195647c
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-04-09 23:41:54 +02:00
Lucaskyy
433914feda
revert: previous commits check for dupes in dexFile, not cache
...
This reverts commit aed4fd9a3c
.
This reverts commit 622138736d
.
2022-04-09 22:46:24 +02:00
Lucaskyy
622138736d
perf: use Set instead of List since there are no dupes
2022-04-09 22:31:32 +02:00
Lucaskyy
aed4fd9a3c
perf: use String List and compare instead of any lambda
2022-04-09 22:04:00 +02:00
Lucaskyy
32e645850d
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-04-09 20:33:22 +02:00
Lucaskyy
e45fc02aae
ci: Fix Unauthorized error
2022-04-09 19:38:21 +02:00
Lucaskyy
e0d29cf450
refactor: bump multidexlib2, dexlib2 and smali
2022-04-09 18:20:12 +02:00
oSumAtrIX
2b888e381c
add: addFiles
method to merge additional dex containers
2022-04-09 04:51:31 +02:00
oSumAtrIX
f72dd68ec5
fix: throwing in case the opcode patterns do not match
2022-04-09 04:50:38 +02:00
Lucaskyy
3b68d5c65e
fix: returning failure on success
...
oh wow, that's an oopsie
2022-04-09 00:03:21 +02:00
Lucaskyy
eed1cfda7b
feat: add immutableMethod
...
added docs
2022-04-08 23:51:31 +02:00
Lucaskyy
8b70bb4290
fix: applyPatches not returning successful patches
2022-04-08 23:50:26 +02:00
Lucaskyy
dbda641d0c
chore: format code
2022-04-08 23:28:32 +02:00
oSumAtrIX
5ae5e98f1f
fix: compareSignatureToMethod
not matching correctly in case opcodes are null
2022-04-08 23:25:44 +02:00
Lucaskyy
1ba40ab1cb
refactor: make method a property
2022-04-08 23:15:40 +02:00
Lucaskyy
e9c119ebb1
refactor: cleanup SignatureResolver.kt
2022-04-08 22:59:20 +02:00
Lucaskyy
1bd6d1d5b8
test: fix test with previous changes
2022-04-08 22:59:03 +02:00
Lucaskyy
4e7378bd79
refactor: rename resolveAndGetMethod to method
2022-04-08 22:58:39 +02:00
Lucaskyy
28ed4793e3
refactor: cleanup Patcher.kt
2022-04-08 22:56:24 +02:00
Lucaskyy
312235b194
fix: use Array instead of Iterable for methodParameters
2022-04-08 22:55:40 +02:00
Lucaskyy
6ab21e5891
chore: move replace extension method to Extensions.kt
2022-04-08 22:55:12 +02:00
Lucaskyy
db8d1150c3
docs: fixup
2022-04-08 22:54:23 +02:00
Lucaskyy
8f778f38fe
chore: publish jar with dependencies
2022-04-08 22:49:37 +02:00
oSumAtrIX
88a6a27302
feat: Improve SignatureResolver
2022-04-08 18:19:48 +02:00
oSumAtrIX
a9e4e8ac32
feat: Finish first patcher test
2022-04-06 23:10:52 +02:00
oSumAtrIX
d5e694c306
fix: Search method map for existing class proxy
2022-04-06 23:09:58 +02:00
oSumAtrIX
dde0a22642
add: MutableMethodImplementation.addInstructions
extension
2022-04-06 23:09:16 +02:00
oSumAtrIX
9a67aa3ff4
add: TODO for mutable encoded value clones
2022-04-06 23:08:31 +02:00
oSumAtrIX
e69708f21e
refactor: lazy initialize implementation field for mutable methods
2022-04-06 19:37:29 +02:00
oSumAtrIX
c49071aff7
fix: match to correct signature method parameters
2022-04-06 19:36:44 +02:00
oSumAtrIX
d15240d033
fix: Patcher not writing resolved methods
2022-04-06 19:36:02 +02:00
oSumAtrIX
6767c8fbc1
feat: Add first tests
2022-04-06 02:15:40 +02:00
oSumAtrIX
4543b36616
refactor: Improve SignatureResolver
2022-04-06 01:25:45 +02:00
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