Obfuscateur open source gratuit ciblant Mono et l'ensemble du .NET
BitMono est un obfuscateur C# gratuit et open source qui a été initialement conçu et destiné principalement à Mono. Cependant, vous êtes désormais libre de l'utiliser pour n'importe quelle application .NET, mais attention, certaines protections fonctionnent sur .NET Framework, certaines sur .NET, certains sur Mono, certains sur Unity uniquement.
BitMono utilise AsmResolver au lieu de dnlib (que nous utilisions dans le passé) pour gérer les assemblys. Si vous avez des questions ou des problèmes, veuillez nous en informer ici. Téléchargez la dernière version de BitMono ici.
Vous pouvez également utiliser BitMono comme moteur pour créer des obfuscateurs personnalisés. Il est construit à l'aide de l'injection de dépendances (DI) à l'aide d'Autofac et suit les dernières meilleures pratiques C#.
BitMono décompose les outils les plus populaires en utilisant un seul packer, tels que :
Donc, si vous ajoutez plus de protection au fichier, je pense que cela semblerait être une magie totale. :D
Lisez la documentation pour en savoir plus sur la protection, les fonctionnalités et bien plus encore.
Pour télécharger la dernière version de BitMono, procédez comme suit :
Ciblage de .NET 8 : si votre fichier cible est créé pour .NET 8, téléchargez : BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Ciblage de .NET Standard : si votre fichier cible est créé pour .NET Standard, vous pouvez utiliser BitMono pour .NET Framework ou .NET 8 : BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Ciblage de .NET Framework : si votre fichier cible est créé pour .NET Framework, téléchargez : BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Ciblage du moteur d'exécution Mono ou Unity : si votre fichier cible est créé pour .NET Framework et s'exécute sur Mono ou Unity, utilisez la version .NET Framework : BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Remarque : assurez-vous de sélectionner la version correcte de BitMono qui correspond à votre framework cible. L'utilisation d'une mauvaise version pourrait entraîner des problèmes de compatibilité.
Activez l'une des protections dans le fichier protections.json
: définissez Enabled
sur true
.
BitMono.CLI <path to file>/drag-and-drop
Supprimez toujours les dépendances dans le répertoire libs
dans le même chemin où se trouve file
à obscurcir
La structure de votre répertoire d’obscurcissement ressemblera à ceci :
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
Copiez toutes les bibliothèques (.dll) du dossier de l'application de construction et collez-les dans le répertoire libs
(s'il n'existe pas encore, créez-le), ou créez vous-même le répertoire libs avec un nom personnalisé par exemple - myLibs
, puis spécifiez dans BitMono, cependant, si vous utilisez libs
, BitMono recherche par défaut un répertoire libs
, cela vous fera donc gagner du temps.
-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.
Exemple de base
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
Dans le cas où vous avez déjà un répertoire avec le nom libs
(specially_created_folder_for_obfuscationlibs), BitMono l'attrapera automatiquement, vous n'avez donc plus besoin de le spécifier, mais vous pouvez le faire au cas où vous auriez créé un autre répertoire avec libs
quelque part sur le disque ou même juste pour la "visibilité".
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
Spécifier le répertoire libs
personnalisé
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
Spécifiez le fichier, les bibliothèques et la sortie. Si le répertoire de sortie n'existe pas, BitMono le créera automatiquement et l'ouvrira même en haut de l'écran. Si vous le souhaitez, vous pouvez désactiver l'ouverture du répertoire en haut de l'écran dans obfuscation.json
- et définir OpenFileDestinationInFileExplorer
sur 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
Vous en voulez plus ? Lisez simplement la documentation .
Vous avez des problèmes ? Obtenez plus d'aide ici .
Si vous souhaitez créer le BitMono par vous-même, cliquez ici pour des informations détaillées
N'hésitez pas à utiliser BitMono sur les frameworks décrits ci-dessous. Soyez prudent lorsque vous utilisez certaines protections, car certaines peuvent fonctionner uniquement sur .NET Framework, certaines sur .NET (Core) uniquement, certaines sur tous les frameworks, certaines sur Mono uniquement - si la protection est unique à sa plate-forme/framework, vous recevrez une notification concernant que.
Cadre | Version |
---|---|
.FILET | 8.0 |
.FILET | 7.0 |
.FILET | 6.0 |
Cadre .NET | 462 |
norme réseau | 2.0 |
norme réseau | 2.1 |
JetBrains a aimablement fourni des licences pour son IDE JetBrains Rider aux contributeurs de BitMono. Cet outil de premier plan facilite et améliore grandement le processus de développement logiciel.
0x59R11 pour sa connaissance d'une grande partie de BitDotNet qui casse des fichiers pour les exécutables mono !
Gazzi pour son aide que j'ai beaucoup demandée !
Elliesaur pour sa connaissance de DotNetHook qui accroche des méthodes.
Weka pour ses conseils, son aide et sa motivation.
MrakDev pour la connaissance de UnmanagedString .
ConfuserEx et leurs Forks pour la plupart des choses que j'ai surveillées pour l'architecture de BitMono et le moteur d'obscurcissement en tant qu'application et pour résoudre de nombreuses solutions utilisateur que je connaîtrais dans un avenir très long après de nombreux échecs d'utilisation de BitMono et des rapports d'autres utilisateurs. Au jour le jour, j'y cherche quelque chose d'intéressant pour m'améliorer dans mes connaissances et BitMono aussi.
OpenMod Décidément, openmod a beaucoup inspiré ce projet avec des services et du code propre, de nombreuses choses similaires à openmod.
Kao et ses blogs remercient beaucoup ces blogs.
drakonia pour son décompresseur costura .