Skip to content

Reference Proxy Protection

Sam Harwood edited this page Jul 21, 2018 · 1 revision

ID: ref proxy
Preset: Normal

This protection encodes and hides references to type/method/fields.

Parameters

mode: This parameter define the way Neo ConfuserEx hide the references. Supported values are:

  • mild: Neo ConfuserEx would add an indirection method as proxy.

  • strong: Neo ConfuserEx would add a dynamic method delegate as proxy.

  • ftn: Neo ConfuserEx would use function pointer as proxy. Not implemented yet.

Default is mild.

encoding: This parameter define the way Neo ConfuserEx encodes the method references. Supported values are:

  • normal: Neo ConfuserEx would use static algorithms with random parameters to encode the references.

  • expression: Neo ConfuserEx would use dynamically generated expressions to encode the references.

  • x86: Neo ConfuserEx would use dynamically generated native x86 expressions to encode the references. (Produces unverifiable modules)

Default is normal.

Other parameters:

  • internal: This parameter is a boolean value, indicates whether Neo ConfuserEx should also hide internal references. Default is false.

  • typeErasure: This parameter is a boolean value, indicates whether Neo ConfuserEx should hide the types of method parameters. Default is false.

  • depth: This parameter define how deep is the generated expression if encoding is set to expression or x86. Default is 3.

  • initCount: This parameter define how many delegate initializer should be added if mode is set to strong. Default is 16.

Usage in CLI

<protection id="ref proxy">
	<argument name="mode" value="strong" />
	<argument name="encoding" value="x86" />
	<argument name="depth" value="8" />
	<argument name="internal" value="true" />
	<argument name="typeErasure" value="false" />
</protection>