Ofuscador de código aberto gratuito voltado para Mono e todo o .NET
BitMono é um ofuscador C# gratuito e de código aberto que foi inicialmente projetado e destinado principalmente ao Mono, no entanto, agora você está à vontade para usá-lo para qualquer aplicativo .NET, mas tenha cuidado, algumas proteções funcionam no .NET Framework, algumas no .NET, alguns no Mono, alguns apenas no Unity.
BitMono usa AsmResolver em vez de dnlib (que usamos no passado) para lidar com assemblies. Se você tiver dúvidas ou problemas, informe-nos aqui. Baixe a versão mais recente do BitMono aqui.
Você também pode usar o BitMono como mecanismo para construir ofuscadores personalizados. Ele é construído usando injeção de dependência (DI) usando Autofac e segue as práticas recomendadas mais recentes de C#.
BitMono quebra as ferramentas mais populares usando apenas um empacotador, como:
Então, se você adicionar mais proteção ao arquivo, acho que pareceria uma mágica total. :D
Leia a documentação para saber sobre proteção, funcionalidade e muito mais.
Para baixar a versão mais recente do BitMono, siga estas etapas:
Direcionado para .NET 8 : se o seu arquivo de destino for criado para .NET 8, baixe: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Visando o .NET Standard : se o seu arquivo de destino for criado para o .NET Standard, você poderá usar BitMono para .NET Framework ou .NET 8: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Visando o .NET Framework : se o seu arquivo de destino for criado para o .NET Framework, baixe: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Visando o tempo de execução do Mono ou Unity Engine : se o seu arquivo de destino for criado para .NET Framework e executado em Mono ou Unity, use a versão do .NET Framework: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Nota: Certifique-se de selecionar a versão correta do BitMono que corresponda ao seu Target Framework. Usar a versão errada pode resultar em problemas de compatibilidade.
Habilite uma das proteções no arquivo protections.json
: Defina Enabled
como true
.
BitMono.CLI <path to file>/drag-and-drop
Sempre descarte dependências no diretório libs
no mesmo caminho onde file
para ofuscação está localizado
Sua estrutura de diretório de ofuscação será semelhante a esta:
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
Copie todas as bibliotecas (.dll) da pasta do aplicativo de construção e cole-as no diretório libs
(se ainda não existir, crie-o) ou até mesmo crie você mesmo o diretório libs com um nome personalizado, por exemplo - myLibs
e, em seguida, especifique no BitMono, no entanto, se você usar libs
, por padrão, o BitMono procurará um diretório libs
, economizando seu tempo.
-f, --file Required. Set file path.
-l, --libraries Set libraries path.
-o, --output Set output path.
--help Display this help screen.
--version Display version information.
Exemplo básico
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
Caso você já tenha um diretório com o nome libs
(especialmente_created_folder_for_obfuscationlibs) o BitMono irá capturá-lo automaticamente, então você não precisa mais especificá-lo, mas você pode caso você tenha criado outro diretório com libs
em algum lugar do disco ou mesmo apenas para "visibilidade".
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
Especifique o diretório libs
personalizado
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
Especifique arquivo, bibliotecas e saída. Se o diretório de saída não existir, o BitMono irá criá-lo automaticamente e até mesmo abri-lo na parte superior da tela, se desejar, você pode desabilitar a abertura do diretório na parte superior da tela em obfuscation.json
- e definir OpenFileDestinationInFileExplorer
como false .
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory -o C: s pecially_created_folder_for_obfuscation/output
Quer mais? Basta ler os documentos .
Está tendo problemas? Obtenha mais ajuda aqui .
Se você deseja construir o BitMono sozinho - clique aqui para obter informações detalhadas
Sinta-se à vontade para usar o BitMono nas estruturas descritas abaixo. Tenha cuidado ao usar algumas proteções porque algumas podem funcionar apenas no .NET Framework, algumas apenas no .NET (Core), algumas em todas as estruturas, algumas apenas no Mono - se a proteção for exclusiva para sua plataforma/estrutura, você receberá uma notificação sobre que.
Estrutura | Versão |
---|---|
.LÍQUIDO | 8,0 |
.LÍQUIDO | 7,0 |
.LÍQUIDO | 6,0 |
Estrutura .NET | 462 |
padrão de rede | 2,0 |
padrão de rede | 2.1 |
A JetBrains gentilmente forneceu licenças para seu IDE JetBrains Rider aos contribuidores do BitMono. Esta ferramenta de primeira linha facilita e aprimora muito o processo de desenvolvimento de software.
0x59R11 por conhecer grande parte do BitDotNet que quebra arquivos para executáveis mono!
Gazzi pela ajuda que tanto me pediu!
Elliesaur por conhecer o DotNetHook que conecta métodos.
Weka pelos seus conselhos, ajuda e motivação.
MrakDev pelo conhecimento em UnownedString .
ConfuserEx e seus Forks para a maioria das coisas que observei para a arquitetura do BitMono e o mecanismo ofuscador como um aplicativo e resolvendo muitas soluções de usuário que eu conheceria em um futuro muito longo, após muitas falhas no uso do BitMono e relatórios por outros usuários. Dia a dia procuro algo interessante lá para me aprimorar em conhecimento e em BitMono também.
OpenMod Definitivamente, o openmod inspirou muito este projeto com serviços e código limpo, extensas coisas semelhantes ao openmod.
Kao e seus blogs agradecem muito a esses blogs.
drakonia pelo seu descompressor de costura .