Бесплатный обфускатор с открытым исходным кодом, предназначенный для Mono и всей .NET.
BitMono — это бесплатный обфускатор C# с открытым исходным кодом, который изначально был разработан и предназначен в основном для Mono, однако теперь вы можете свободно использовать его для любого приложения .NET, но будьте осторожны: некоторые средства защиты работают на .NET Framework, некоторые на .NET, некоторые на Mono, некоторые только на Unity.
BitMono использует AsmResolver вместо dnlib (который мы использовали раньше) для обработки сборок. Если у вас есть вопросы или проблемы, сообщите нам об этом здесь. Загрузите последнюю версию BitMono здесь.
Вы также можете использовать BitMono в качестве движка для создания собственных обфускаторов. Он создан с использованием внедрения зависимостей (DI) с использованием Autofac и соответствует новейшим лучшим практикам C#.
BitMono ломает самые популярные инструменты, используя всего один упаковщик, например:
Итак, если вы добавите к файлу дополнительную защиту, я думаю, это будет похоже на настоящее волшебство. :D
Прочтите документацию , чтобы узнать о защите, функциональности и многом другом.
Чтобы загрузить последнюю версию BitMono, выполните следующие действия:
Ориентация на .NET 8. Если целевой файл создан для .NET 8, загрузите: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Ориентация на .NET Standard . Если целевой файл создан для .NET Standard, вы можете использовать либо BitMono для .NET Framework, либо .NET 8: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Ориентация на .NET Framework . Если целевой файл создан для .NET Framework, загрузите: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Таргетинг на среду выполнения Mono или Unity Engine . Если целевой файл создан для .NET Framework и работает на Mono или Unity, используйте версию .NET Framework: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Примечание. Обязательно выберите правильную версию BitMono, соответствующую вашей целевой платформе. Использование неправильной версии может привести к проблемам совместимости.
Включите одну из защит в файле protections.json
: установите для Enabled
значение true
.
BitMono.CLI <path to file>/drag-and-drop
Всегда сбрасывайте зависимости в каталог libs
по тому же пути, где находится file
для обфускации.
Структура каталогов вашей обфускации будет выглядеть примерно так:
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
Скопируйте все библиотеки (.dll) из папки строительного приложения и вставьте их в каталог libs
(если он еще не существует, создайте его) или даже создайте каталог libs самостоятельно с настраиваемым именем, например — myLibs
, а затем укажите это в BitMono, однако, если вы будете использовать libs
, то по умолчанию BitMono ищет каталог libs
, так что это сэкономит ваше время.
-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.
Базовый пример
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
В случае, если у вас уже есть каталог с именем libs
(специально_созданная_папка_для_обфускацииlibs), BitMono поймает его автоматически, поэтому вам больше не нужно его указывать, но вы можете это сделать в случае, если вы создали другой каталог с libs
где-то на диск или даже просто для "видимости".
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
Укажите собственный каталог libs
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
Укажите файл, библиотеки и вывод. Если выходной каталог не существует, BitMono создаст его автоматически и даже откроет в верхней части экрана. Если вы хотите, вы можете отключить открытие каталога в верхней части экрана в obfuscation.json
- и установить для OpenFileDestinationInFileExplorer
значение 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
Хотите больше? Просто прочитайте документацию .
Возникли проблемы? Получите дополнительную помощь здесь .
Если вы хотите собрать BitMono самостоятельно — нажмите здесь для получения подробной информации.
Не стесняйтесь использовать BitMono в платформах, описанных ниже. Будьте осторожны при использовании некоторых средств защиты, поскольку некоторые из них могут работать только на .NET Framework, некоторые только на .NET (Core), некоторые на всех платформах, некоторые только на Mono. Если защита уникальна для соответствующей платформы/фреймворка, вы получите уведомление об этом. что.
Рамки | Версия |
---|---|
.СЕТЬ | 8.0 |
.СЕТЬ | 7.0 |
.СЕТЬ | 6.0 |
.NET Framework | 462 |
нетстандарт | 2.0 |
нетстандарт | 2.1 |
Компания JetBrains любезно предоставила лицензии на свою среду разработки JetBrains Rider участникам BitMono. Этот инструмент высшего уровня значительно облегчает и улучшает процесс разработки программного обеспечения.
0x59R11 за его знакомство в большой части BitDotNet , которая разбивает файлы на моно-исполняемые файлы!
Газзи за помощь, о которой меня очень просили!
Elliesaur за знакомство с DotNetHook , перехватывающим методы.
Веке за советы, помощь и мотивацию.
MrakDev за знакомство в UnmanagedString .
ConfuserEx и их форки для большинства вещей, которые я наблюдал, для архитектуры BitMono и механизма обфускатора как приложения, а также для решения множества пользовательских решений, о которых я узнаю в очень долгом будущем после большого количества неудачного использования BitMono и отчетов других пользователей. День за днем я ищу там что-то интересное, чтобы улучшить свои знания, в том числе и BitMono.
OpenMod Определенно, openmod во многом вдохновил этот проект своими сервисами и чистым кодом, во многом похожими на openmod.
Као и его блоги выражают огромную благодарность этим блогам.
дракония за декомпрессор костюма .