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
Browse filesBrowse the repository at this point in the historyBrowse files
RandomCrocodile
committed
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.
0 commit comments