You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feature: symbol map reuse for consistent re-obfuscation (#26) (#96)
* feature: symbol map reuse for consistent re-obfuscation (#26)
Implements InputSymbolMap (upstream mkaring#168 / yck1509#680) so re-obfuscation
produces the same obfuscated names across builds — needed to patch already-deployed
obfuscated assemblies without replacing every module.
- ConfuserProject gains an inputSymbolMap attribute (Save/Load/Clone + XSD).
- NameService loads that map on construction and pre-populates the name maps, so the
existing reuse path in ObfuscateName returns the previous obfuscated name for any
original that appears in the map. Missing files / parse errors log a warning and
fall back to fresh names.
- When an input map is in use, names for all rename modes are recorded (not just
Decodable/Sequential), so the exported symbols.map stays complete and chainable.
- CLI --map flag sets InputSymbolMap for non-project runs.
Behaviour is unchanged when no map is supplied (hasInputMap gates all new paths).
Test: obfuscate twice with DIFFERENT seeds — with the input map the names match, and
a no-map control with the same second seed produces different names, proving reuse is
what causes the consistency. Existing renamer tests unaffected.
* feature: add Input Symbol Map field to GUI advanced settings (#26)
Completes the #26 GUI follow-up. The project's Advanced Settings dialog now has an
'Input Symbol Map' field (text box with file drag-drop + a browse button) bound to
ProjectVM.InputSymbolMap, so users can select a previous symbols.map from the GUI
for consistent re-obfuscation. Round-trips through the existing project save/load.
---------
Co-authored-by: RandomCrocodile <mawi@polosab.com>
0 commit comments