summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar jeff2015-02-10 22:51:55 -0500
committerGravatar jeff2015-02-10 22:51:55 -0500
commit6044c91079ae416ecaff2412f8ca8653f39e6f83 (patch)
treeaff5345fdb1f660b2e632a373be7b3f60d2e4a94 /src
parentfix issue with removing field mappings (diff)
downloadenigma-fork-6044c91079ae416ecaff2412f8ca8653f39e6f83.tar.gz
enigma-fork-6044c91079ae416ecaff2412f8ca8653f39e6f83.tar.xz
enigma-fork-6044c91079ae416ecaff2412f8ca8653f39e6f83.zip
black list Object methods from deobfuscation
Diffstat (limited to 'src')
-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