API

Obfuscate assemblies from CI, build scripts, or your own tooling. Pro plan required.

API access is part of the Pro plan. After subscribing, your key will appear on your account page.

POST /api/v1/obfuscate

Upload a single .NET assembly (up to 100 MB). Responds with the obfuscated binary as application/octet-stream.

Headers

  • X-Api-Key: your Pro API key (fo_live_…)

Form fields

  • file: the .dll or .exe (multipart/form-data)
  • renamePublic: true/false — obfuscate public names. Applied only to assemblies with an entry point (applications); ignored for libraries.
  • encryptStrings: true/false — encrypt string literals so URLs and messages are not readable in a decompiler.
  • controlFlow: true/false — reorder method bodies into tangled goto flow. Methods with exception handlers are left unchanged.
  • hideReferences: true/false — route calls to external static methods through generated proxies so the real API is hidden at the call site.
  • virtualize: true/false — compile methods you mark with a [Virtualize] attribute (or [Obfuscation(Feature="virtualization")]) into a private VM; only marked methods are affected. Much slower at runtime, so reserve it for a few critical methods.
  • antiIldasm: true/false — add SuppressIldasmAttribute to block the legacy ildasm tool.

Example

curl -X POST https://freeobfuscator.com/api/v1/obfuscate \
  -H "X-Api-Key: fo_live_xxxxxxxxxxxxxxxx" \
  -F "[email protected]" \
  -F "renamePublic=true" \
  -o MyApp.obfuscated.exe

Responses

StatusMeaning
200Obfuscated binary in the response body
401Missing or invalid API key
402Key belongs to a non-active subscription
413File exceeds the tier limit
415Unsupported file type
422Obfuscation failed (invalid .NET assembly)
503Server busy — retry after the Retry-After interval