Skip to content

Conversation

@johnny603
Copy link

Description:

Add Deobfuscator Feature with UI Integration, Preview, and Undo
This PR implements a new deobfuscator feature for Bytecode Viewer:

Closes #537

Renames obfuscated class names (e.g., Aa, aa, a, A) to unique, semantic names (C001, AC002, I003, etc.) using a type-based prefix scheme.
Handles inner and anonymous classes, preserving package structure.
Integrates the deobfuscator into the Plugins menu with options to run, preview, and undo the renaming.
Provides a preview dialog for the renaming mapping before applying changes.
Adds an undo option to revert the renaming if needed.
Updates dependencies and code structure to support the new feature.
Unit tests confirm the renaming logic works for various class types.
End-to-end validation and cross-platform tests are recommended for production use.

Is there any feedback or additional functionality you’d like to see before merging?

Note:

"Why would a reverse-engineering suite need to be able to obfuscate files? I believe this is a useless functionality."

I noticed someone else made a PR regarding this feature. Is there any reason to keep or expand obfuscation capabilities in Bytecode Viewer, or should the focus remain strictly on deobfuscation and analysis?

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.

Deobfuscator feature request

1 participant