Skip to content
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

Add Partially Deobfuscated Classes panel #482

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

NebelNidas
Copy link
Member

@NebelNidas NebelNidas commented Oct 3, 2022

Following up the discussion on Discord from May, I've split up the deobfuscation panel into two: A Partially Deobfuscated Classes panel and a Fully Deobfuscated Classes one.

image

While being at it, here are some related changes I made:

  • Added a class counter to the individual panels
  • Improved readability of the moveClassTree function, fixed a bug introduced over two years ago via QOL fixes - Volume 2 #239 which rendered the last else condition unreachable
  • Made a common ClassPanel abstract class which the three other class panels inherit from. Also moved them into a new subpackage, although I wasn't quite sure how to name it, so please tell me if you have a better name
  • Removed some duplicated code from GuiController.java, it now uses the methods from Gui.java
  • Renamed DeobfPanelPopupMenu to ClassPanelContextMenu, as it can be used on all three panels now

It may not be the cleanest of implementations, but hey, it works 😄

@NebelNidas NebelNidas marked this pull request as draft October 3, 2022 23:20
@NebelNidas
Copy link
Member Author

NebelNidas commented Oct 6, 2022

Works fine with my testing. The only issues left are ones that have to be fixed by other PRs:

@NebelNidas
Copy link
Member Author

This PR has some serious performance problems when importing larger JARs, and to be fair, the UI isn't great either with how clamped up everything gets, I think this needs a larger overhaul later down the line when my new IR stuff is finished and Matcher support gets added.

@NebelNidas NebelNidas marked this pull request as draft September 13, 2023 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant