bytecode-viewer icon indicating copy to clipboard operation
bytecode-viewer copied to clipboard

feat: Add deobfuscator feature with UI integration, preview, and undo

Open johnny603 opened this issue 2 months ago • 0 comments

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?

johnny603 avatar Oct 10 '25 01:10 johnny603