-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proper deobfuscation mapping file format #1491
Comments
@NebelNidas thanks! |
Recaf also has some nice read-only implementations: https://github.com/Col-E/Recaf/tree/master/src/main/java/me/coley/recaf/mapping |
I've almost finished the "nodeRef": {
"refType": "METHOD",
"declClass": "aanu",
"shortId": "\u003cinit\u003e(Landroid/content/Context;Ljava/lang/String;)V"
},
"codeRef": {
"attachType": "VAR",
"index": 131072
},
"newName": "text" is a method arg or a method var? I mean, the |
Wait, what? P.S. I see that these enums values doesn't use, I just thought they can be useful for comment attach, but still not implement that :( |
Yeah, but apart from the distinction between method args & vars which relies on |
@NebelNidas more likely I will just remove |
Hmm, I guess I'll add an |
…(PR #1505) * Add option to export mappings as Tiny v2 file * Comply with JADX's import order conventions * Only use Java 8 features * Only use Java 8 features (2) * Export comments to mappings file * Method args test (doesn't work) * Make method arg mapping exports work now * Use `getTopParentClass()` instead of `getParentClass()` See #1505 (comment) * Remove unneeded method load call * Small code cleanup; initial (broken) support for method vars * Fixes regarding inner classes * Add option to export mappings as Enigma directory * Add option to export mappings as Enigma file/directory Temporarily move to my mapping-io fork until this PR gets merged: FabricMC/mapping-io#19 * Fix method vars' lv-indices * Use correct offset value for method var mappings * Also supply lvt-index for method var mappings * Clarify why we're using local mapping-io fork; comment out Fabric Maven for now * Remove unnecessary `public` modifier * Make an `if` condition less complicated * Move mapping export code into jadx-gui (for now) * Make mapping export async; make export menu only clickable when everything is loaded * Fix export mappings menu field declaration position
As far as I could see, you currently have two options for exporting user-made mappings (renames): the
.jadx
project file and.jobf
mapping files. The issue is,.jadx
contains much other information that's not needed/wanted when I just want to get the mappings. And.jobf
can neither handle Javadoc/comments nor is it easy to get them generated.I suggest/request looking into adding
.enigma
or.tiny
mapping format support, which are both currently used by FabricMC in their Minecraft deobfuscation toolchain. Enigma files look like this, for example: https://github.com/FabricMC/yarn/blob/1.19-pre2/mappings/net/minecraft/block/Block.mappingIt should be relatively easy to implement, too, via the
mapping-io
library. Maybe support for JADX's mappings can be PR'd to there too, so conversion of legacy mapping formats would be possible?The text was updated successfully, but these errors were encountered: