Skip to content

Commit f3ee4b9

Browse files
committed
Update detector for allatori
Fixes #648, but may increase potential for false positives
1 parent 028b4e4 commit f3ee4b9

File tree

2 files changed

+0
-3
lines changed

2 files changed

+0
-3
lines changed

src/main/java/com/javadeobfuscator/deobfuscator/rules/allatori/RuleStringDecryptor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ public String test(Deobfuscator deobfuscator) {
6868

6969
isAllatori = isAllatori && TransformerHelper.containsInvokeVirtual(decrypterNode, "java/lang/String", "charAt", "(I)C");
7070
isAllatori = isAllatori && TransformerHelper.containsInvokeVirtual(decrypterNode, "java/lang/String", "length", "()I");
71-
isAllatori = isAllatori && TransformerHelper.countOccurencesOf(decrypterNode, ISHL) > 0;
7271
isAllatori = isAllatori && TransformerHelper.countOccurencesOf(decrypterNode, IXOR) > 2;
7372
isAllatori = isAllatori && TransformerHelper.countOccurencesOf(decrypterNode, NEWARRAY) > 0;
7473

src/main/java/com/javadeobfuscator/deobfuscator/transformers/allatori/StringEncryptionTransformer.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,10 @@ public boolean canCheckEquality(JavaValue first, JavaValue second, Context conte
167167
private boolean isAllatoriMethod(Map<Integer, AtomicInteger> insnCount, Map<String, AtomicInteger> invokeCount) {
168168
//XXX: Better detector
169169
if(insnCount.get(Opcodes.IXOR) == null ||
170-
insnCount.get(Opcodes.ISHL) == null ||
171170
insnCount.get(Opcodes.NEWARRAY) == null ||
172171
invokeCount.get("charAt") == null || invokeCount.get("length") == null)
173172
return false;
174173
return insnCount.get(Opcodes.IXOR).get() >= 3 &&
175-
insnCount.get(Opcodes.ISHL).get() >= 1 &&
176174
insnCount.get(Opcodes.NEWARRAY).get() >= 1 &&
177175
invokeCount.get("charAt").get() >= 2 &&
178176
invokeCount.get("length").get() >= 1;

0 commit comments

Comments
 (0)