summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/analysis (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Split GUI code to separate module (#242)Gravatar Runemoro2020-06-0327-2724/+0
| | | | | | | * Split into modules * Post merge compile fixes Co-authored-by: modmuss50 <modmuss50@gmail.com>
* Fix #179 (#223)Gravatar Runemoro2020-04-181-8/+0
|
* Fix division by zero (#189)Gravatar howtonotwin2020-04-041-1/+2
| | | Resolves #181.
* Support java 9+ and gradle 6+ (#206)Gravatar liach2020-04-025-6/+11
| | | | | | | | | | | | | | | * Support java 9+ and gradle 6+ * Update asm Signed-off-by: liach <liach@users.noreply.github.com> * Use asm 8 and move that to a constant * Bump version * fix version format Co-authored-by: liach <liach@users.noreply.github.com>
* CFR support (#192)Gravatar Runemoro2020-03-0911-898/+14
| | | | | * Add decompiler API * Add CFR support
* Made Enigma gui translatable (#193)Gravatar modmuss502020-03-051-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * made enigma gui translatable * key renamings * missed strings * string.format() & another missed string * cached content (thanks @liach) * added a dialog when changing language * better sentence * more %s * liach's requests * empty map * the last (?) missed strings * IT WORKS * French translation * Update fr_fr.json
* Allow attaching class, method, field, and parameter javadocs (#185)Gravatar Fudge2019-12-025-713/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * bring liach pr to modern enigma * bump version * fuck off vscode * switch to COMMENT and write comments before * it was already after, what do you want * oops * put inner classes at the end * remove indents and use all caps * add refreshmappings command * Update src/main/java/cuchaz/enigma/translation/mapping/serde/EnigmaMappingsWriter.java * Delete RefreshEnigmaMappingsCommand.java * Update CommandMain.java * ok
* Correctly decompile bridges, and add command to add bridges to mappings (#180)Gravatar Runemoro2019-11-221-5/+13
|
* Tweak runemoro's stats generator to be compatible with multiple services (#178)Gravatar liach2019-11-081-7/+11
| | | | | | | | | | * Tweak runemoro's stats generator to be compatible with multiple services Signed-off-by: liach <liach@users.noreply.github.com> * Names can have $ in java Signed-off-by: liach <liach@users.noreply.github.com>
* Fix compiling on Java 13 (#174)Gravatar Runemoro2019-11-081-1/+1
|
* Allow multiple services for enigma (#168)Gravatar liach2019-11-081-0/+150
| | | | | | | | | | * Allow multiple services for enigma Signed-off-by: liach <liach@users.noreply.github.com> * Delete bad dummy Signed-off-by: liach <liach@users.noreply.github.com>
* Check protected method/field target in visibility index (#157)Gravatar Runemoro2019-11-0211-55/+576
|
* Drop invalid mappings menuGravatar gegy10002019-06-181-4/+4
|
* Fix bad index order from enabled parallelismGravatar gegy10002019-06-182-2/+1
|
* Plugin rework along with API rework: Enigma split from EnigmaProject; ↵Gravatar gegy10002019-06-163-139/+139
| | | | plugins now provide services configurable via a profile
* Method type reference corrections (#142)Gravatar Erlend Åmdal2019-05-184-31/+60
| | | | | | * Add more specific returns for translatables * Only index method descriptors for implemented methods and methods in generated lambda classes
* Feature/weave (#138)Gravatar liach2019-05-162-6/+7
| | | | | | | | | | | | | | | | * Add weave/stitch style command system to enigma Also fixed divide by zero stupidity Signed-off-by: liach <liach@users.noreply.github.com> * Add tests for package access index and command Signed-off-by: liach <liach@users.noreply.github.com> * Minor tweaks Signed-off-by: liach <liach@users.noreply.github.com>
* checkmappings command (#137)Gravatar Erlend Åmdal2019-05-154-5/+195
| | | | | | | | | | | | | | | | * Use expected map sizes for remapped multimaps * Index method and field types * Add package visibility index * Add checkmappings command and use System.err for error messages * Use exit codes for errors * Remove outer class check for package visible only refs * Throw exception on mapping error instead of exiting
* Don't remap specialized methods to their bridge partner in bytecodeGravatar gegy10002019-05-103-65/+33
|
* Index lambda local variables to correct declaring methodGravatar gegy10002019-03-162-9/+12
|
* Adds a red highlight for overridden methods in method inheritance tree gui ↵Gravatar liach2019-02-241-12/+15
| | | | | | | | | | | | | | | | | (#112) * Make implemented method nodes in inheritance ui more obvious Signed-off-by: liach <liach@users.noreply.github.com> * Make the text green and italic instead Signed-off-by: liach <liach@users.noreply.github.com> * Update again for the new tree gen Also tweaked new tree gen to show only useful branch nodes Signed-off-by: liach <liach@users.noreply.github.com>
* Fix #110 and remap indices with matched bridge method namesGravatar gegy10002019-02-235-29/+78
|
* Tweak inheritance and implementation tree generationGravatar gegy10002019-02-234-35/+38
|
* Drop final modifiers from displayed source ast for easier readabilityGravatar gegy10002019-02-231-0/+37
|
* Bridge Method Fixes (#111)Gravatar Gegy2019-02-193-16/+113
| | | | | | | | | | * 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`
* Remap sources (#106)Gravatar Gegy2019-01-3012-184/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-2430-1375/+963
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 #74Gravatar asie2018-12-112-0/+16
|
* add option to view calls to a method in general, not just the specific ↵Gravatar Adrian Siekierka2018-12-092-2/+21
| | | | instance of the method
* fix SourceIndex remap bugsGravatar asie2018-12-092-14/+11
|
* fix #63 - make method inheritance lookup take into account access flagsGravatar asie2018-12-081-4/+15
|
* rewrite entry resolution logic in TranslationIndex, hopefully fixing bugsGravatar asie2018-12-081-80/+55
|
* add barebones plugin framework, cleanupGravatar asie2018-12-087-31/+111
|
* do not propagate non-argument local variable namesGravatar asie2018-11-272-4/+5
|
* update Guava, show proper constructor tree node, fix AccessFlags.toStringGravatar asie2018-11-072-1/+108
|
* unify local variable/argument numberingGravatar Adrian Siekierka2018-11-042-10/+3
|
* hackfix argument order in inner class constructors. this needs a proper fixGravatar asie2018-10-311-1/+5
|
* expose AccessFlags correctlyGravatar asie2018-10-281-3/+5
|
* expose AccessFlags over AccessGravatar asie2018-10-283-10/+18
|
* update gson, fix argument indexing, delete empty class mappingsGravatar asie2018-10-271-5/+4
|
* update ASM/Guava, merge ASM port fixesGravatar Adrian Siekierka2018-10-262-1/+13
|\
| * "make sure this is actually a field" properlyGravatar Thiakil2018-07-241-1/+1
| |
| * fix source index tokens for inner classes that are not mappedGravatar Thiakil2018-07-231-0/+12
| |
* | make rebuild method names discard child-only names. imperfect, but ehGravatar asie2018-10-251-4/+25
|\ \ | |/ |/|
| * ASM Based Class Translator (#1)Gravatar gegy10002018-07-1722-896/+690
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* | buffer the ParsedJar class entry inputstream, allow use with a jarinputstreamGravatar Thiakil2018-07-101-1/+24
| |
* | index & resolve method/field references for usages viewGravatar Thiakil2018-07-102-0/+49
| |
* | Ignore invalid decompiled variable indicesGravatar gegy10002018-06-301-9/+16
| |
* | Fix stackoverflow on rebuilding method namesGravatar gegy10002018-06-251-17/+13
| |
* | Fix parsed local variable indexingGravatar gegy10002018-06-243-43/+37
| |