forked from KOLANICH-tools/de4dot
-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Hi team — thanks for the great project!
I’d like to request support for XerinFuscator v3.0.0.29 (a ConfuserEx-style obfuscator/fork) — it uses Confuser-like ReferenceProxy protections and DynCipher-based expression encodings. de4dotEx/de4dot-cex already handles many ConfuserEx variants, but this Xerin version leaves many proxy calls unresolved.
What I observed:
- The obfuscated assemblies contain assembly attribute: XerinAtrribute("XerinFuscator v3.0.0.29")
- ReferenceProxy is implemented using NormalEncoding and ExpressionEncoding (Confuser.DynCipher AST → IL).
- Many resolver methods use switch/jump-table or static tables initialized inside a helper
.cctorcall chain.
What I propose / what would help:
- Add a detection rule matching the
XerinAtrribute("XerinFuscator v3.0.0.29")(or other reliable signature) to enable Xerin-specific fix pipeline. - Extend
ProxyCallFixerto:- attempt static extraction of mappings from
switchand static arrays (.cctor initializers), - fallback to DynCipher AST evaluation if possible,
- provide optional runtime extraction mode for cases where expressions are generated dynamically.
- attempt static extraction of mappings from
- Add a small test-case or minimal repro (I can provide a sanitized, minimal assembly that reproduces the proxy pattern).
I can prepare a PR that:
- implements detection,
- adds a
XerinReferenceProxyFixer(or extends existing ProxyCallFixer), - includes a small test harness and instructions how to reproduce.
Notes / security:
- I prefer not to attach full installer binaries publicly; I can prepare a tiny minimal-repro assembly or provide a way to privately share a sample (if maintainers prefer).
If helpful, I can open a PR with implementation + tests. Please advise preferred branch/target and whether you can accept a small repro or prefer me to attach only the test assembly.
Thanks!
greenozon, meck-gd and heartcoffee
Metadata
Metadata
Assignees
Labels
No labels