diff options
| author | 2015-02-10 22:51:55 -0500 | |
|---|---|---|
| committer | 2015-02-10 22:51:55 -0500 | |
| commit | 6044c91079ae416ecaff2412f8ca8653f39e6f83 (patch) | |
| tree | aff5345fdb1f660b2e632a373be7b3f60d2e4a94 /src | |
| parent | fix issue with removing field mappings (diff) | |
| download | enigma-6044c91079ae416ecaff2412f8ca8653f39e6f83.tar.gz enigma-6044c91079ae416ecaff2412f8ca8653f39e6f83.tar.xz enigma-6044c91079ae416ecaff2412f8ca8653f39e6f83.zip | |
black list Object methods from deobfuscation
Diffstat (limited to 'src')
| -rw-r--r-- | src/cuchaz/enigma/Deobfuscator.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java index b54a94ac..9cd6e41f 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 | ||