summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/Deobfuscator.java (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Plugin rework along with API rework: Enigma split from EnigmaProject; ↵Gravatar gegy10002019-06-161-435/+0
| | | | plugins now provide services configurable via a profile
* Separate JarProcessor and EntryNameProposerGravatar gegy10002019-05-121-8/+9
|
* Simplify Plugin API and support all entry typesGravatar gegy10002019-05-121-6/+8
|
* Fix #110 and remap indices with matched bridge method namesGravatar gegy10002019-02-231-4/+8
|
* Bridge Method Fixes (#111)Gravatar Gegy2019-02-191-4/+11
| | | | | | | | | | * Detect synthetic bridges not marked as bridges, and add back flags to produced bytecode * Remove debug check * Remove more test code * Remove unneeded change to `TranslationClassVisitor`
* Disable remapping of local variables until proper support is implementedGravatar gegy10002019-02-111-0/+3
|
* Remap sources (#106)Gravatar Gegy2019-01-301-152/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Source remapping beginnings * Fix navigation to remapped classes * Translate identifier info reference * Remap local variables with default names in source * Caching translator * Fix lack of highlighting for first opened class * Fix unicode variable names * Unicode checker shouldn't be checking just alphanumeric * Fix package tree being built from obf names * Don't index `this` as method call for method::reference * Apply proposed names * Fix source export issues * Replace unicode var names at bytecode level uniquely * Drop imports from editor source * Class selector fixes * Delta keep track of base mappings to enable lookup of old names * Optimize source remapping by remapping source with a StringBuffer instead of copying * Bump version
* [WIP] Mapping rework (#91)Gravatar Gegy2019-01-241-387/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move packages * Mapping & entry refactor: first pass * Fix deobf -> obf tree remapping * Resolve various issues * Give all entries the potential for parents and treat inner classes as children * Deobf UI tree elements * Tests pass * Sort mapping output * Fix delta tracking * Index separation and first pass for #97 * Keep track of remapped jar index * Fix child entries not being remapped * Drop non-root entries * Track dropped mappings * Fix enigma mapping ordering * EntryTreeNode interface * Small tweaks * Naive full index remap on rename * Entries can resolve to more than one root entry * Support alternative resolution strategies * Bridge method resolution * Tests pass * Fix mappings being used where there are none * Fix methods with different descriptors being considered unique. closes #89
* fix #63 - make method inheritance lookup take into account access flagsGravatar asie2018-12-081-0/+2
|
* add barebones plugin framework, cleanupGravatar asie2018-12-081-36/+27
|
* remove parallelStreams on non-thread-safe ooperations in rebuildMethodNames, ↵Gravatar Adrian Siekierka2018-10-261-6/+18
| | | | gain a bit of performance by not clearing the cache endlessly in phase 2
* update ASM/Guava, merge ASM port fixesGravatar Adrian Siekierka2018-10-261-14/+55
|\
| * use a common metadata (no-retry) instance to decompile all the files, ↵Gravatar Thiakil2018-07-241-2/+37
| | | | | | | | similar to the procyon standalone decompiler
| * more custom source transformersGravatar Thiakil2018-07-241-1/+7
| |
| * Make rebuildMethodNames use parallelStream's should improve the speed a lotGravatar modmuss502018-07-221-10/+10
| | | | | | | | let me know if it breaks anything
| * remove raw casts to ObjectGravatar Thiakil2018-07-201-1/+3
| |
* | make rebuild method names discard child-only names. imperfect, but ehGravatar asie2018-10-251-12/+31
|\ \ | |/ |/|
| * remove raw casts to ObjectGravatar Thiakil2018-07-201-1/+3
| | | | | | | | (cherry picked from commit 268e8bd3a292162c215723638665e32415207c28)
| * ASM Based Class Translator (#1)Gravatar gegy10002018-07-171-122/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial port to ASM * Package updates * Annotation + inner class translation * Fix inner class mapping * More bytecode translation * Signature refactoring * Fix highlighting of mapped names * Fix parameter name offset * Fix anonymous class generation * Fix issues with inner class signature transformation * Fix bridged method detection * Fix compile issues * Resolve all failed tests * Apply deobfuscated name to transformed classes * Fix class signatures not being translated * Fix frame array type translation * Fix frame array type translation * Fix array translation in method calls * Fix method reference and bridge detection * Fix handling of null deobf mappings * Parameter translation in interfaces * Fix enum parameter index offset * Fix parsed local variable indexing * Fix stackoverflow on rebuilding method names * Ignore invalid decompiled variable indices * basic source jar * Output directly to file on source export * Make decompile parallel * fix incorrect super calls * Use previous save state to delete old mapping files * Fix old mappings not properly being removed * Fix old mappings not properly being removed * make isMethodProvider public (cherry picked from commit ebad6a9) * speed up Deobfuscator's getSources by using a single TranslatingTypeloader and caching the ClassLoaderTypeloader * ignore .idea project folders * move SynchronizedTypeLoader to a non-inner * fix signature remap of inners for now * index & resolve method/field references for usages view * Allow reader/writer subclasses to provide the underlying file operations * fix giving obf classes a name not removing them from the panel * buffer the ParsedJar class entry inputstream, allow use with a jarinputstream * make CachingClasspathTypeLoader public * make CachingClasspathTypeLoader public * support enum switches with obfuscated SwitchMaps
* | support enum switches with obfuscated SwitchMapsGravatar Thiakil2018-07-111-0/+12
| |
* | move SynchronizedTypeLoader to a non-innerGravatar Thiakil2018-07-061-28/+0
| |
* | speed up Deobfuscator's getSources by using a single TranslatingTypeloader ↵Gravatar Thiakil2018-07-061-3/+39
| | | | | | | | and caching the ClassLoaderTypeloader
* | make isMethodProvider publicGravatar modmuss502018-07-051-1/+1
| | | | | | | | (cherry picked from commit ebad6a9)
* | Make decompile parallelGravatar modmuss502018-07-031-6/+10
| |
* | Output directly to file on source exportGravatar gegy10002018-07-031-4/+4
| |
* | Apply deobfuscated name to transformed classesGravatar gegy10002018-06-231-6/+12
| |
* | Resolve all failed testsGravatar gegy10002018-06-221-9/+7
| |
* | Fix issues with inner class signature transformationGravatar gegy10002018-06-211-3/+4
| |
* | Fix anonymous class generationGravatar gegy10002018-05-201-1/+1
| |
* | More bytecode translationGravatar gegy10002018-05-191-3/+3
| |
* | Package updatesGravatar gegy10002018-05-191-0/+1
| |
* | Initial port to ASMGravatar gegy10002018-05-191-106/+119
|/
* Rebuild innerclass method names.Gravatar modmuss502017-04-051-22/+30
|
* Avoid crash using rebuild method names + make sure that the mapping is dirty ↵Gravatar Thog2017-04-051-1/+7
| | | | if rebuildMethodNames is called (Fix #56)
* Reformat codeGravatar Thog2017-03-241-0/+1
|
* Follow Fabric guidelinesGravatar Thog2017-03-081-583/+580
|
* Drop unix case style and implement hashCode when equals is overridedGravatar Thog2017-03-071-6/+2
| | | | Also update Guava to version 21
* Merge branch 'feature/method-converter'Gravatar Thog2016-11-181-13/+12
|\
| * Method Converter: Add bytecode matching to match what is identicalGravatar Thog2016-10-171-13/+12
| |
* | BREAKING CHANGE: Implement modifier transformerGravatar Thog2016-10-301-0/+21
| | | | | | | | | | | | | | Known Bugs: - Inner class modifier isn't saved to mapping - Inner class modifier isn't applied to bytecode
* | Fix order of packages, hanging of Enigma and classes nodes not renamed when ↵Gravatar Thog2016-10-281-1/+6
| | | | | | | | package is renamed (#25)
* | Starting implementing local variables (#33)Gravatar Thog2016-10-191-0/+8
| | | | | | | | | | | | | | | | TODO: - Store format (need to be defined) - Implement some translate operations This commit also fix some cases where argument tokens are not selected
* | remove none/ prefixGravatar asiekierka2016-10-181-1/+1
|/
* fix method/argument renaming edge cases, add method/argument name rebuilder, ↵Gravatar asiekierka2016-09-121-3/+88
| | | | add Package to Access enum
* And make ClassTransformer public so it can be usedGravatar modmuss502016-08-251-1/+1
|
* make transformJar public so custom ClassTransformer can be used from ↵Gravatar modmuss502016-08-251-1/+1
| | | | external projects
* Update Procyon (fix UTF-8 issues), disable debug line number in source code ↵Gravatar Thog2016-08-191-20/+20
| | | | and make all decompiler settings configurable with system properties
* add proper propagation of argument namesGravatar asiekierka2016-08-181-1/+1
|
* Revert "Removed unused methods"Gravatar asiekierka2016-08-171-0/+4
| | | | This reverts commit 1742190f784d0d62e7cc869eebafdfe1927e448f.
* Avoid making libraries methods renameable + Fix Cancel buttons in save diagGravatar Thog2016-08-151-1/+1
|