diff options
| author | 2014-09-26 00:33:07 -0400 | |
|---|---|---|
| committer | 2014-09-26 00:33:07 -0400 | |
| commit | 575447097876b5cf3dfbae8fa1f6f749819e97b8 (patch) | |
| tree | 50b544e601e295dee5a55e747db85df9d3a25577 /src/cuchaz/enigma/Deobfuscator.java | |
| parent | fixed invalid tokens issue (diff) | |
| download | enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.gz enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.tar.xz enigma-fork-575447097876b5cf3dfbae8fa1f6f749819e97b8.zip | |
implemented mark-as-deobfuscated and reset-to-obfuscated
Diffstat (limited to 'src/cuchaz/enigma/Deobfuscator.java')
| -rw-r--r-- | src/cuchaz/enigma/Deobfuscator.java | 68 |
1 files changed, 60 insertions, 8 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java index 9a33917..44845ba 100644 --- a/src/cuchaz/enigma/Deobfuscator.java +++ b/src/cuchaz/enigma/Deobfuscator.java | |||
| @@ -508,23 +508,19 @@ public class Deobfuscator | |||
| 508 | Translator translator = getTranslator( TranslationDirection.Deobfuscating ); | 508 | Translator translator = getTranslator( TranslationDirection.Deobfuscating ); |
| 509 | if( obfEntry instanceof ClassEntry ) | 509 | if( obfEntry instanceof ClassEntry ) |
| 510 | { | 510 | { |
| 511 | String deobfName = translator.translate( (ClassEntry)obfEntry ); | 511 | return translator.translate( (ClassEntry)obfEntry ) != null; |
| 512 | return deobfName != null && !deobfName.equals( obfEntry.getName() ); | ||
| 513 | } | 512 | } |
| 514 | else if( obfEntry instanceof FieldEntry ) | 513 | else if( obfEntry instanceof FieldEntry ) |
| 515 | { | 514 | { |
| 516 | String deobfName = translator.translate( (FieldEntry)obfEntry ); | 515 | return translator.translate( (FieldEntry)obfEntry ) != null; |
| 517 | return deobfName != null && !deobfName.equals( obfEntry.getName() ); | ||
| 518 | } | 516 | } |
| 519 | else if( obfEntry instanceof MethodEntry ) | 517 | else if( obfEntry instanceof MethodEntry ) |
| 520 | { | 518 | { |
| 521 | String deobfName = translator.translate( (MethodEntry)obfEntry ); | 519 | return translator.translate( (MethodEntry)obfEntry ) != null; |
| 522 | return deobfName != null && !deobfName.equals( obfEntry.getName() ); | ||
| 523 | } | 520 | } |
| 524 | else if( obfEntry instanceof ConstructorEntry ) | 521 | else if( obfEntry instanceof ConstructorEntry ) |
| 525 | { | 522 | { |
| 526 | String deobfName = translator.translate( obfEntry.getClassEntry() ); | 523 | return translator.translate( obfEntry.getClassEntry() ) != null; |
| 527 | return deobfName != null && !deobfName.equals( obfEntry.getClassName() ); | ||
| 528 | } | 524 | } |
| 529 | else if( obfEntry instanceof ArgumentEntry ) | 525 | else if( obfEntry instanceof ArgumentEntry ) |
| 530 | { | 526 | { |
| @@ -540,4 +536,60 @@ public class Deobfuscator | |||
| 540 | { | 536 | { |
| 541 | return m_jarIndex.containsObfEntry( obfEntry ); | 537 | return m_jarIndex.containsObfEntry( obfEntry ); |
| 542 | } | 538 | } |
| 539 | |||
| 540 | public void removeMapping( Entry obfEntry ) | ||
| 541 | { | ||
| 542 | if( obfEntry instanceof ClassEntry ) | ||
| 543 | { | ||
| 544 | m_renamer.removeClassMapping( (ClassEntry)obfEntry ); | ||
| 545 | } | ||
| 546 | else if( obfEntry instanceof FieldEntry ) | ||
| 547 | { | ||
| 548 | m_renamer.removeFieldMapping( (FieldEntry)obfEntry ); | ||
| 549 | } | ||
| 550 | else if( obfEntry instanceof MethodEntry ) | ||
| 551 | { | ||
| 552 | m_renamer.removeMethodTreeMapping( (MethodEntry)obfEntry ); | ||
| 553 | } | ||
| 554 | else if( obfEntry instanceof ConstructorEntry ) | ||
| 555 | { | ||
| 556 | m_renamer.removeClassMapping( obfEntry.getClassEntry() ); | ||
| 557 | } | ||
| 558 | else if( obfEntry instanceof ArgumentEntry ) | ||
| 559 | { | ||
| 560 | m_renamer.removeArgumentMapping( (ArgumentEntry)obfEntry ); | ||
| 561 | } | ||
| 562 | else | ||
| 563 | { | ||
| 564 | throw new Error( "Unknown entry type: " + obfEntry ); | ||
| 565 | } | ||
| 566 | } | ||
| 567 | |||
| 568 | public void markAsDeobfuscated( Entry obfEntry ) | ||
| 569 | { | ||
| 570 | if( obfEntry instanceof ClassEntry ) | ||
| 571 | { | ||
| 572 | m_renamer.markClassAsDeobfuscated( (ClassEntry)obfEntry ); | ||
| 573 | } | ||
| 574 | else if( obfEntry instanceof FieldEntry ) | ||
| 575 | { | ||
| 576 | m_renamer.markFieldAsDeobfuscated( (FieldEntry)obfEntry ); | ||
| 577 | } | ||
| 578 | else if( obfEntry instanceof MethodEntry ) | ||
| 579 | { | ||
| 580 | m_renamer.markMethodTreeAsDeobfuscated( (MethodEntry)obfEntry ); | ||
| 581 | } | ||
| 582 | else if( obfEntry instanceof ConstructorEntry ) | ||
| 583 | { | ||
| 584 | m_renamer.markClassAsDeobfuscated( obfEntry.getClassEntry() ); | ||
| 585 | } | ||
| 586 | else if( obfEntry instanceof ArgumentEntry ) | ||
| 587 | { | ||
| 588 | m_renamer.markArgumentAsDeobfuscated( (ArgumentEntry)obfEntry ); | ||
| 589 | } | ||
| 590 | else | ||
| 591 | { | ||
| 592 | throw new Error( "Unknown entry type: " + obfEntry ); | ||
| 593 | } | ||
| 594 | } | ||
| 543 | } | 595 | } |