-
I´m using the next ConfuserEx project in an .Net 4.6.1 app and I wan't to know wath changes are needed for I think that <rule pattern="true" inherit="false">
<protection id="watermark" action="remove" />
<protection id="rename">
<argument name="mode" value="reversible" />
<argument name="password" value="*************" />
<argument name="renameArgs" value="true" />
<argument name="renEnum" value="true" />
<argument name="flatten" value="true" />
<argument name="forceRen" value="false" />
<argument name="renPublic" value="true" />
<argument name="renXaml" value="true" />
</protection>
<protection id="anti debug" />
<protection id="anti dump" />
<protection id="anti ildasm" />
<protection id="anti tamper">
<argument name="mode" value="normal" />
<argument name="key" value="dynamic" />
</protection>
<protection id="constants">
<argument name="mode" value="x86" />
<argument name="decoderCount" value="10" />
<argument name="elements" value="SNPI" />
<argument name="cfg" value="true" />
</protection>
<protection id="ctrl flow">
<argument name="type" value="switch" />
<argument name="predicate" value="x86" />
<argument name="intensity" value="70" />
<argument name="depth" value="6" />
<argument name="junk" value="true" />
</protection>
<protection id="harden" />
<protection id="invalid metadata" />
<protection id="ref proxy">
<argument name="mode" value="strong" />
<argument name="encoding" value="x86" />
<argument name="internal" value="true" />
<argument name="typeErasure" value="true" />
<argument name="depth" value="4" />
<argument name="initCount" value="32" />
</protection>
<protection id="resources" />
</rule> |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
So first thing is that your assembly requires a strong name. So you absolutely need to sign your assembly and you need to allow ConfuserEx to use the key in order to resign the assembly. The other thing that jumps straight to mind, is the I'm not sure about |
Beta Was this translation helpful? Give feedback.
So first thing is that your assembly requires a strong name. So you absolutely need to sign your assembly and you need to allow ConfuserEx to use the key in order to resign the assembly.
The other thing that jumps straight to mind, is the
anti tamper
. This one is very likely breaking ngen, because ngen needs to be able, to read the method body.anti tamper
prevents this. Also everything that usesx86
predicates is likely incompatible, because ngen is only working for fully managed assenblies. Using the x86 encodings and predicates, will turn the assembly to a mixed assembly.I'm not sure about
invalid metadata
. It shouldn't affect ngen, but I can't say for sure.