summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/Deobfuscator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/Deobfuscator.java')
-rw-r--r--src/cuchaz/enigma/Deobfuscator.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java
index b54a94a..9cd6e41 100644
--- a/src/cuchaz/enigma/Deobfuscator.java
+++ b/src/cuchaz/enigma/Deobfuscator.java
@@ -397,6 +397,38 @@ public class Deobfuscator {
397 } 397 }
398 398
399 public boolean isObfuscatedIdentifier(Entry obfEntry) { 399 public boolean isObfuscatedIdentifier(Entry obfEntry) {
400
401 if (obfEntry instanceof MethodEntry) {
402
403 // HACKHACK: Object methods are not obfuscated identifiers
404 MethodEntry obfMethodEntry = (MethodEntry)obfEntry;
405 String name = obfMethodEntry.getName();
406 String sig = obfMethodEntry.getSignature().toString();
407 if (name.equals("clone") && sig.equals("()Ljava/lang/Object;")) {
408 return false;
409 } else if (name.equals("equals") && sig.equals("(Ljava/lang/Object;)Z")) {
410 return false;
411 } else if (name.equals("finalize") && sig.equals("()V")) {
412 return false;
413 } else if (name.equals("getClass") && sig.equals("()Ljava/lang/Class;")) {
414 return false;
415 } else if (name.equals("hashCode") && sig.equals("()I")) {
416 return false;
417 } else if (name.equals("notify") && sig.equals("()V")) {
418 return false;
419 } else if (name.equals("notifyAll") && sig.equals("()V")) {
420 return false;
421 } else if (name.equals("toString") && sig.equals("()Ljava/lang/String;")) {
422 return false;
423 } else if (name.equals("wait") && sig.equals("()V")) {
424 return false;
425 } else if (name.equals("wait") && sig.equals("(J)V")) {
426 return false;
427 } else if (name.equals("wait") && sig.equals("(JI)V")) {
428 return false;
429 }
430 }
431
400 return m_jarIndex.containsObfEntry(obfEntry); 432 return m_jarIndex.containsObfEntry(obfEntry);
401 } 433 }
402 434