Open apkunpacker opened 4 years ago
Key error is: Multiple switch instructions refer to the same payload. This is not currently supported. Please file a bug :)
This is from Dexlib. Likely, during optimization, several execution branches are pruned and control flow collapses to a single address. Will need to come up with a work around or figure out a good way of changing the switch. It might be possible to add some nops and jump to those. Might also be possible to remove the switch, but robust modification of control flow gets a bit tricky.
To help with searching, here's the log:
/storage/emulated/0 $ cd debugging
/storage/emulated/0/debugging $ java -jar simplify.jar --max-call-depth 999 --max-address-visits 999 --max-method-visits 999 --ignore-error classes.dex
06:31:25.320 INFO Main - Options:
Input file: classes.dex
Output file: classes_simple.dex
Include filter: null
Exclude filter: null
Max execution time: 300
Max address visits: 999
Max call depth: 999
Max method visits: 999
Max optimization passes: 100
Output API level: 15
Include support library: false
06:31:28.867 INFO Main - Filtered 0 support library classes
[1 / 10] Processing top level class Lru/leymoy/ۦ;
(1 / 29) Executing top level method: Lru/leymoy/ۦ;->ۦۨۖ(Ljava/lang/Object;)Ljava/lang/ClassLoader;
WARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by com.rits.cloning.Cloner (file:/storage/emulated/0/debugging/simplify.jar) to field java.util.TreeSet.m
WARNING: Please consider reporting this to the maintainers of com.rits.cloning.Cloner
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
06:31:58.454 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۨۖ(Ljava/lang/Object;)Ljava/lang/ClassLoader;, depth=0
06:31:58.471 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۦۙۢ()I, depth=1
06:31:58.550 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=2
06:31:58.847 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۗ()Ljava/lang/ClassLoader;, depth=1
06:31:58.859 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۙۢ(Ljava/lang/Object;)Ljava/lang/Class;, depth=2
06:31:58.865 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:31:58.869 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:31:58.991 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧۚ(Ljava/lang/Object;)Ljava/lang/String;, depth=2
06:31:59.003 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۢۚ;->ۦۥ۟()I, depth=3
06:31:59.011 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:31:59.109 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۡۦ;->ۥۚ([B)Ljava/lang/String;, depth=3
06:31:59.120 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۥ(Ljava/lang/Object;I)[B, depth=4
06:31:59.124 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:31:59.127 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.427 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۡۦ;->ۦ۬()I, depth=4
06:31:59.434 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:31:59.438 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.449 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:31:59.451 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.471 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۚ(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/String;, depth=2
06:31:59.473 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۢۚ;->ۦۥ۟()I, depth=3
06:31:59.475 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:31:59.513 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۚ([BLjava/lang/String;ZZ)Ljava/lang/String;, depth=3
06:31:59.520 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۥۘ(Ljava/lang/Object;)I, depth=4
06:31:59.528 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:31:59.533 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.569 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:31:59.572 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:31:59.578 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.613 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:31:59.618 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.653 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:31:59.655 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:31:59.657 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.672 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:31:59.674 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.712 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:31:59.715 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:31:59.718 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.765 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:31:59.766 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:31:59.768 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.792 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:31:59.797 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.832 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:31:59.835 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:31:59.840 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.864 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:31:59.867 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.903 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:31:59.907 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:31:59.911 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.935 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:31:59.939 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:31:59.976 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:31:59.979 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:31:59.983 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.023 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:00.026 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.030 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.052 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.056 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.098 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:32:00.101 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.105 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.126 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:32:00.129 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.167 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:32:00.169 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.170 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.178 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.179 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.196 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:32:00.198 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.199 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.218 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:00.219 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.221 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.228 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.230 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.248 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:32:00.249 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.251 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.258 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:32:00.260 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.280 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:32:00.281 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.283 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.302 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.305 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.382 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:32:00.385 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.388 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.470 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:00.473 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.477 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.498 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.501 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.589 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:32:00.592 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.595 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.614 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:32:00.618 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.716 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:32:00.719 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.722 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.741 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:00.744 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.826 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:32:00.829 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:00.832 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.948 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:00.951 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.954 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:00.971 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:00.974 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.128 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:32:01.131 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:01.134 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.153 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:32:01.156 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.293 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:32:01.296 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:01.300 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.318 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:01.322 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.468 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:32:01.471 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:01.474 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.623 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:01.626 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:01.629 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.644 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:01.647 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.690 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۚ()I, depth=4
06:32:01.691 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:01.693 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.699 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=5
06:32:01.701 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.735 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۦۥ()I, depth=4
06:32:01.736 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:01.738 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.744 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=5
06:32:01.746 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.782 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۚ;->ۥۚ(Ljava/lang/Object;I)C, depth=4
06:32:01.784 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=5
06:32:01.785 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.823 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۚ;->ۥۡۦ()I, depth=4
06:32:01.824 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:01.825 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.831 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=5
06:32:01.832 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=6
06:32:01.854 WARN InvokeOp - org.cf.smalivm.exception.MaxMethodVisitsExceededException: Exceeded max method visits @0 ExecutionNode{signature=Lru/leymoy/ۥۚ;->ۥۚ([BLjava/lang/String;ZZ)Ljava/lang/String;, op=array-length r3, r6, @=0} in Lru/leymoy/ۥۚ;->ۥۚ([BLjava/lang/String;ZZ)Ljava/lang/String;
06:32:01.854 INFO InvokeOp - Problem executing Lru/leymoy/ۥۚ;->ۥۚ([BLjava/lang/String;ZZ)Ljava/lang/String;, propagating ambiguity.
06:32:01.902 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۥۚ(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/reflect/Field;, depth=2
06:32:01.903 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:01.912 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:01.975 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۥۚ(Ljava/lang/Object;Z)V, depth=2
06:32:01.977 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=3
06:32:01.980 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.002 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۦۙ(Ljava/lang/Object;)Ljava/lang/ref/WeakReference;, depth=2
06:32:02.006 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=3
06:32:02.009 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.049 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦۥ(Ljava/lang/Object;)Ljava/lang/Object;, depth=2
06:32:02.051 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:02.055 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.079 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۘۦ(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;, depth=2
06:32:02.081 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۦۙۢ()I, depth=3
06:32:02.084 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.118 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦ۠()I, depth=2
06:32:02.121 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:02.124 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.138 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۦۙۢ()I, depth=3
06:32:02.141 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.172 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۥ۠ۦۚ(Ljava/lang/Object;)V, depth=2
06:32:02.174 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=3
06:32:02.177 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.199 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۦ()I, depth=2
06:32:02.202 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۢۚ;->ۦۥ۟()I, depth=3
06:32:02.205 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.219 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=3
06:32:02.222 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.241 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦ۠()I, depth=2
06:32:02.244 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:02.247 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.263 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۦۙۢ()I, depth=3
06:32:02.265 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.288 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦ۠()I, depth=2
06:32:02.291 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:02.293 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.309 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۦۙۢ()I, depth=3
06:32:02.312 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.333 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۦ()I, depth=2
06:32:02.335 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۢۚ;->ۦۥ۟()I, depth=3
06:32:02.338 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.353 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۧ()I, depth=3
06:32:02.355 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
Simplifying: Lru/leymoy/ۦ;->ۦۨۖ(Ljava/lang/Object;)Ljava/lang/ClassLoader;
Optimizations:
constantized ifs = 1
constantized ops = 1
dead assignments removed = 1
dead ops removed = 106
dead results removed = 1
nops removed = 1
peephole optmizations = 0
unreflected fields = 0
unreflected methods = 0
useless gotos removed = 0
(2 / 29) Executing top level method: Lru/leymoy/ۦ;->ۦۥ۟(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/reflect/Field;
06:32:02.814 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۥ۟(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/reflect/Field;, depth=0
06:32:02.816 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=1
06:32:02.819 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=2
06:32:02.935 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۚ(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/reflect/Field;, depth=1
06:32:02.939 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۬(Ljava/lang/Object;)Ljava/lang/Class;, depth=2
06:32:02.942 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=3
06:32:02.944 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:02.972 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۥۚ(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/reflect/Field;, depth=2
06:32:02.974 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=3
06:32:02.977 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:03.003 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۦۦ(Ljava/lang/Object;)Z, depth=2
06:32:03.005 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۦ۠()I, depth=3
06:32:03.008 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
06:32:03.033 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۥ;->ۥۚ(Ljava/lang/Object;Z)V, depth=2
06:32:03.036 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=3
06:32:03.039 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=4
Simplifying: Lru/leymoy/ۦ;->ۦۥ۟(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/reflect/Field;
Optimizations:
constantized ifs = 1
constantized ops = 1
dead assignments removed = 1
dead ops removed = 106
dead results removed = 1
nops removed = 1
peephole optmizations = 0
unreflected fields = 0
unreflected methods = 0
useless gotos removed = 0
(3 / 29) Executing top level method: Lru/leymoy/ۦ;->ۦۙ()I
06:32:03.277 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙ()I, depth=0
06:32:03.278 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=1
Simplifying: Lru/leymoy/ۦ;->ۦۙ()I
Exception optimizing Lru/leymoy/ۦ;->ۦۙ()I, skipping
java.lang.IllegalStateException: Multiple switch instructions refer to the same payload. This is not currently supported. Please file a bug :)
at org.jf.dexlib2.builder.MutableMethodImplementation.fixInstructions(MutableMethodImplementation.java:392)
at org.jf.dexlib2.builder.MutableMethodImplementation.getTryBlocks(MutableMethodImplementation.java:167)
at org.cf.simplify.ExecutionGraphManipulator.removeEmptyTryCatchBlocks(ExecutionGraphManipulator.java:364)
at org.cf.simplify.ExecutionGraphManipulator.removeInstruction(ExecutionGraphManipulator.java:167)
at org.cf.simplify.ExecutionGraphManipulator.removeInstruction(ExecutionGraphManipulator.java:172)
at java.base/java.lang.Iterable.forEach(Unknown Source)
at org.cf.simplify.ExecutionGraphManipulator.removeInstructions(ExecutionGraphManipulator.java:180)
at org.cf.simplify.strategy.DeadRemovalStrategy.perform(DeadRemovalStrategy.java:205)
at org.cf.simplify.Optimizer.simplify(Optimizer.java:109)
at org.cf.simplify.Launcher.executeMethods(Launcher.java:221)
at org.cf.simplify.Launcher.run(Launcher.java:141)
at org.cf.simplify.Main.main(Main.java:14)
(4 / 29) Executing top level method: Lru/leymoy/ۦ;->ۦۙۢ(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/String;
06:32:03.307 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۙۢ(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/String;, depth=0
06:32:03.309 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦۢۚ;->ۦۥ۟()I, depth=1
06:32:03.311 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, depth=2
Simplifying: Lru/leymoy/ۦ;->ۦۙۢ(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/String;
Optimizations:
constantized ifs = 1
constantized ops = 1
dead assignments removed = 1
dead ops removed = 105
dead results removed = 1
nops removed = 1
peephole optmizations = 0
unreflected fields = 0
unreflected methods = 0
useless gotos removed = 0
(5 / 29) Executing top level method: Lru/leymoy/ۦ;->ۦۗ()Ljava/lang/ClassLoader;
06:32:03.527 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ;->ۦۗ()Ljava/lang/ClassLoader;, depth=0
06:32:03.530 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۙۢ(Ljava/lang/Object;)Ljava/lang/Class;, depth=1
06:32:03.546 WARN NodeExecutor - ExecutionNode{signature=Lru/leymoy/ۦ;->ۦۗ()Ljava/lang/ClassLoader;, op=invoke-static {r5}, Lru/leymoy/ۦ۬;->ۦۙۢ(Ljava/lang/Object;)Ljava/lang/Class;, @=0} threw a real exception but was caught by an exception handler. This may be a bug in smalivm or in the input code. Exception:
java.lang.RuntimeException: Real exception was thrown executing ExecutionNode{signature=Lru/leymoy/ۦ۬;->ۦۙۢ(Ljava/lang/Object;)Ljava/lang/Class;, op=invoke-static {}, Lru/leymoy/ۦ;->ۦۙ()I, @=0} and was not handled. This could be a bug in smalivm.
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:92)
at org.cf.smalivm.MethodExecutor.step(MethodExecutor.java:50)
at org.cf.smalivm.NonInteractiveMethodExecutor.execute(NonInteractiveMethodExecutor.java:54)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:76)
at org.cf.smalivm.opcode.InvokeOp.executeLocalMethod(InvokeOp.java:434)
at org.cf.smalivm.opcode.InvokeOp.execute(InvokeOp.java:136)
at org.cf.smalivm.context.ExecutionNode.execute(ExecutionNode.java:53)
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:81)
at org.cf.smalivm.MethodExecutor.step(MethodExecutor.java:50)
at org.cf.smalivm.NonInteractiveMethodExecutor.execute(NonInteractiveMethodExecutor.java:54)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:76)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:63)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:59)
at org.cf.simplify.Launcher.executeMethods(Launcher.java:195)
at org.cf.simplify.Launcher.run(Launcher.java:141)
at org.cf.simplify.Main.main(Main.java:14)
Caused by: java.lang.IllegalStateException: Multiple switch instructions refer to the same payload. This is not currently supported. Please file a bug :)
at org.jf.dexlib2.builder.MutableMethodImplementation.fixInstructions(MutableMethodImplementation.java:392)
at org.jf.dexlib2.builder.MutableMethodImplementation.getInstructions(MutableMethodImplementation.java:141)
at org.cf.smalivm.context.ExecutionGraph.buildAddressToLocation(ExecutionGraph.java:69)
at org.cf.smalivm.context.ExecutionGraph.<init>(ExecutionGraph.java:61)
at org.cf.smalivm.VirtualMachine.updateInstructionGraph(VirtualMachine.java:180)
at org.cf.smalivm.VirtualMachine.spawnInstructionGraph(VirtualMachine.java:131)
at org.cf.smalivm.MethodExecutorFactory.build(MethodExecutorFactory.java:62)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:75)
at org.cf.smalivm.opcode.InvokeOp.executeLocalMethod(InvokeOp.java:434)
at org.cf.smalivm.opcode.InvokeOp.execute(InvokeOp.java:136)
at org.cf.smalivm.context.ExecutionNode.execute(ExecutionNode.java:53)
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:81)
... 15 common frames omitted
... snip ...
(17 / 17) Executing top level method: Lru/leymoy/ۦ۬;->ۦۥ(Ljava/lang/Object;I)[B
06:32:09.267 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۦ۬;->ۦۥ(Ljava/lang/Object;I)[B, depth=0
06:32:09.270 INFO NonInteractiveMethodExecutor - Executing Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, depth=1
Unexpected, non-virtual exception executing Lru/leymoy/ۦ۬;->ۦۥ(Ljava/lang/Object;I)[B; skipping
java.lang.RuntimeException: Real exception was thrown executing ExecutionNode{signature=Lru/leymoy/ۦ۬;->ۦۥ(Ljava/lang/Object;I)[B, op=invoke-static {}, Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, @=0} and was not handled. This could be a bug in smalivm.
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:92)
at org.cf.smalivm.MethodExecutor.step(MethodExecutor.java:50)
at org.cf.smalivm.NonInteractiveMethodExecutor.execute(NonInteractiveMethodExecutor.java:54)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:76)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:63)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:59)
at org.cf.simplify.Launcher.executeMethods(Launcher.java:195)
at org.cf.simplify.Launcher.run(Launcher.java:141)
at org.cf.simplify.Main.main(Main.java:14)
Caused by: java.lang.RuntimeException: Real exception was thrown executing ExecutionNode{signature=Lru/leymoy/ۥ۬;->ۦ۟ۙ()I, op=invoke-static {r0}, Lru/leymoy/ۥۙۚ;->ۥۥ۫ۚ(Ljava/lang/Object;)I, @=2} and was not handled. This could be a bug in smalivm. at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:92)
at org.cf.smalivm.MethodExecutor.step(MethodExecutor.java:50)
at org.cf.smalivm.NonInteractiveMethodExecutor.execute(NonInteractiveMethodExecutor.java:54)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:76)
at org.cf.smalivm.opcode.InvokeOp.executeLocalMethod(InvokeOp.java:434)
at org.cf.smalivm.opcode.InvokeOp.execute(InvokeOp.java:136)
at org.cf.smalivm.context.ExecutionNode.execute(ExecutionNode.java:53)
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:81)
... 8 more
Caused by: java.lang.IllegalStateException: Multiple switch instructions refer to the same payload. This is not currently supported. Please file a bug :)
at org.jf.dexlib2.builder.MutableMethodImplementation.fixInstructions(MutableMethodImplementation.java:392)
at org.jf.dexlib2.builder.MutableMethodImplementation.getInstructions(MutableMethodImplementation.java:141)
at org.cf.smalivm.context.ExecutionGraph.buildAddressToLocation(ExecutionGraph.java:69)
at org.cf.smalivm.context.ExecutionGraph.<init>(ExecutionGraph.java:61)
at org.cf.smalivm.VirtualMachine.updateInstructionGraph(VirtualMachine.java:180)
at org.cf.smalivm.VirtualMachine.spawnInstructionGraph(VirtualMachine.java:131)
at org.cf.smalivm.MethodExecutorFactory.build(MethodExecutorFactory.java:62)
at org.cf.smalivm.VirtualMachine.execute(VirtualMachine.java:75)
at org.cf.smalivm.opcode.InvokeOp.executeLocalMethod(InvokeOp.java:434)
at org.cf.smalivm.opcode.InvokeOp.execute(InvokeOp.java:136)
at org.cf.smalivm.context.ExecutionNode.execute(ExecutionNode.java:53)
at org.cf.smalivm.NodeExecutor.execute(NodeExecutor.java:81)
... 15 more
Simplification complete:
total classes = 10
total methods = 17
optimized methods = 137
failed methods = 112
run time = 43944 ms
Total optimizations:
constantized ifs = 25
constantized ops = 27
dead assignments removed = 25
dead ops removed = 2345
dead results removed = 27
nops removed = 25
peephole optmizations = 0
unreflected fields = 0
unreflected methods = 0
useless gotos removed = 0
Writing output to classes_simple.dex
Exception in thread "main" java.lang.IllegalStateException: Switch instruction at address/index 0x1c/12 refers to the wrong type of payload instruction.
at org.jf.dexlib2.builder.MutableMethodImplementation.fixInstructions(MutableMethodImplementation.java:386)
at org.jf.dexlib2.builder.MutableMethodImplementation.getTryBlocks(MutableMethodImplementation.java:167)
at org.jf.dexlib2.writer.builder.BuilderClassPool.getTryBlocks(BuilderClassPool.java:307)
at org.jf.dexlib2.writer.builder.BuilderClassPool.getTryBlocks(BuilderClassPool.java:64)
at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:1011)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:345)
at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:300)
at org.cf.simplify.Launcher.run(Launcher.java:149)
at org.cf.simplify.Main.main(Main.java:14)```
One workaround, though not good, is to only optimize classes / methods you care about. Some methods optimize without upsetting dexlib.
its possible to found exact location of error so i can patch with nop as you suggested ? skipping other classes is not best idea though as if someone need to simplify those similer errorpron classes they will face writing issue. something in simplify or dexlib should be tweaked to handle control flow properly . right sir ?
What I said was for "future me" to understand better what to do. By "adding nops" I meant "simplify should add nops when multiple switch branches point to the same address and then modify the jump addresses to those nops so that there's no overlap". It's not something you could do manually, unless you were debugging simplify.
As for the work-around, I qualified the work around as "not good" and you're correctly pointing out explicitly why it's not good.
On Mon, Oct 26, 2020 at 10:42 AM Apkunpacker notifications@github.com wrote:
its possible to found exact location of error so i can patch with nop as you suggested ? skipping other classes is not best idea though as if someone need to simplify those similer errorpron classes they will face writing issue. something in simplify or dexlib should be tweaked to handle control flow properly . right sir ?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CalebFenton/simplify/issues/150#issuecomment-716713814, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKLG4WD5GNDBRWIAGLZMFTSMWYGTANCNFSM4S67CEVA .
okay sir as you are creater you know it perfectly that how it work and how to fix it , i am only end user . hope to see some fixes from you . good luck 👍
Provide specific APK, DEX, or file hash classes.dex.zip
Describe the bug outputlog.txt
Writing output to classes_simple.dex Exception in thread "main" java.lang.IllegalStateException: Switch instruction at address/index 0x1c/12 refers to the wrong type of payload instruction. at org.jf.dexlib2.builder.MutableMethodImplementation.fixInstructions(MutableMethodImplementation.java:386) at org.jf.dexlib2.builder.MutableMethodImplementation.getTryBlocks(MutableMethodImplementation.java:167) at org.jf.dexlib2.writer.builder.BuilderClassPool.getTryBlocks(BuilderClassPool.java:307) at org.jf.dexlib2.writer.builder.BuilderClassPool.getTryBlocks(BuilderClassPool.java:64) at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java:1011) at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:345) at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:300) at org.cf.simplify.Launcher.run(Launcher.java:149) at org.cf.simplify.Main.main(Main.java:14)
To Reproduce
java -jar simplify.jar --max-call-depth 999 --max-address-visits 999 --max-method-visits 999 --ignore-error classes.dex
Attempted work-arounds You are the work-around sir 😊😎