Troubleshooting
A few things that commonly go wrong, and how to fix them. If none of this helps, open an issue on GitHub or ping us on Discord.
“Access Denied” when opening the output folder
When BitMono is done it tries to open the output directory in your file explorer. If that throws an
“Access Denied”, just turn it off, set OpenFileDestinationInFileExplorer to false in
obfuscation.json.
Missing dependencies
BitMono needs your app’s dependencies to understand the code. If it can’t find them:
Put every
.dllyour app references in thelibsfolder, next to the file you’re obfuscating.Make sure the files are actually there and not locked by another process.
If some dependency is genuinely optional and you can’t get it, set
FailOnNoRequiredDependencytofalseinobfuscation.jsonto continue anyway. Be careful though, skipping a real dependency can break the obfuscated app.
Framework mismatch
Use the BitMono build that matches your app’s framework, otherwise the obfuscated file won’t run:
.NET app → .NET build of BitMono
.NET Framework app → .NET Framework build
Unity/Mono → .NET Framework build
More on this in The module is built for ….
No protections enabled
If BitMono says nothing is enabled, you didn’t turn anything on. Enable at least one protection in
protections.json (set Enabled to true), or pass them on the command line with
-p Protection1,Protection2, or pick a preset with --preset.
Can’t write to the output directory
Make sure BitMono can actually write there: the path exists, it’s not read-only, and nothing else has the file open. A normal user folder is usually fine, you rarely need to run as administrator.
Still stuck?
Read the console output, BitMono usually tells you exactly what went wrong.
Try the interactive mode, it shows more detailed prompts.
Open an issue here and bring the log with you.