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