Ofuscador gratuito de código abierto dirigido a Mono y .NET completo
BitMono es un ofuscador de C# gratuito y de código abierto que inicialmente fue diseñado y pensado principalmente para Mono; sin embargo, ahora puede usarlo para cualquier aplicación .NET, pero tenga cuidado, algunas protecciones funcionan en .NET Framework, algunas en .NET, algunos en Mono, otros solo en Unity.
BitMono usa AsmResolver en lugar de dnlib (que usamos en el pasado) para manejar ensamblajes. Si tiene preguntas o problemas, háganoslo saber aquí. Descargue la última versión de BitMono aquí.
También puede utilizar BitMono como motor para crear ofuscadores personalizados. Está construido mediante inyección de dependencia (DI) usando Autofac y sigue las últimas mejores prácticas de C#.
BitMono rompe las herramientas más populares usando un solo empaquetador, como por ejemplo:
Entonces, si agrega más protección al archivo, creo que parecería magia total. :D
Lea los documentos para conocer la protección, la funcionalidad y más.
Para descargar la última versión de BitMono, siga estos pasos:
Apuntando a .NET 8 : si su archivo de destino está creado para .NET 8, descargue: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Orientación a .NET Standard : si su archivo de destino está creado para .NET Standard, puede usar BitMono para .NET Framework o .NET 8: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
Orientación a .NET Framework : si su archivo de destino está creado para .NET Framework, descargue: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Apuntando al tiempo de ejecución del motor Mono o Unity : si su archivo de destino está creado para .NET Framework y se ejecuta en Mono o Unity, use la versión de .NET Framework: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
Nota: asegúrese de seleccionar la versión correcta de BitMono que coincida con su Target Framework. El uso de una versión incorrecta podría provocar problemas de compatibilidad.
Habilite una de las protecciones en el archivo protections.json
: Establezca Enabled
en true
.
BitMono.CLI <path to file>/drag-and-drop
Siempre elimine las dependencias en el directorio libs
en la misma ruta donde se encuentra file
para la ofuscación
La estructura de su directorio de ofuscación se verá así:
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
Copie todas las bibliotecas (.dll) de la carpeta de la aplicación de compilación y péguelas en el directorio libs
(si aún no existe, créelo), o incluso cree el directorio libs usted mismo con un nombre personalizado, por ejemplo, myLibs
, y luego especifique en BitMono, sin embargo, si va a utilizar libs
, BitMono buscará de forma predeterminada un directorio libs
, por lo que le ahorrará tiempo.
-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.
Ejemplo básico
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
En caso de que ya tenga un directorio con el nombre libs
(especialmente_carpeta_creada_para_obfuscaciónlibs), BitMono lo capturará automáticamente, por lo que ya no necesita especificarlo, pero puede hacerlo en caso de que haya creado otro directorio con libs
en algún lugar del disco o incluso simplemente por "visibilidad".
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
Especificar el directorio libs
personalizadas
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
Especifique el archivo, las bibliotecas y la salida. Si el directorio de salida no existe, BitMono lo creará automáticamente e incluso lo abrirá en la parte superior de la pantalla; si lo desea, puede desactivar la apertura del directorio en la parte superior de la pantalla en obfuscation.json
y configurar OpenFileDestinationInFileExplorer
en falso. .
$ 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
¿Quieres más? Simplemente lea los documentos .
¿Tienes problemas? Obtenga más ayuda aquí .
Si desea construir BitMono usted mismo, haga clic aquí para obtener información detallada
Siéntase libre de utilizar BitMono en los marcos que se describen a continuación. Tenga cuidado al utilizar algunas protecciones porque algunas pueden funcionar solo en .NET Framework, algunas solo en .NET (Core), algunas en todos los frameworks, algunas solo en Mono. Si la protección es exclusiva de su plataforma/framework, recibirá una notificación sobre eso.
Estructura | Versión |
---|---|
.NETO | 8.0 |
.NETO | 7.0 |
.NETO | 6.0 |
Marco .NET | 462 |
estándar neto | 2.0 |
estándar neto | 2.1 |
JetBrains ha proporcionado amablemente licencias para su IDE JetBrains Rider a los contribuyentes de BitMono. Esta herramienta de primer nivel facilita y mejora enormemente el proceso de desarrollo de software.
0x59R11 por su conocimiento en gran parte de BitDotNet que divide archivos en ejecutables mono.
Gazzi por su ayuda que me pedí mucho!
Elliesaur por su conocimiento de DotNetHook que engancha métodos.
Weka por sus consejos, ayuda y motivación.
MrakDev por el conocimiento de UnmangedString .
ConfuserEx y sus Forks para la mayoría de las cosas que observé para la arquitectura de BitMono y el motor ofuscador como una aplicación y para resolver muchas soluciones de usuario que conocería en un futuro muy largo después de mucho uso fallido de BitMono e informes de otros usuarios. Día a día busco algo interesante para mejorar mis conocimientos y también BitMono.
OpenMod Definitivamente, openmod inspiró mucho este proyecto con servicios y código limpio, muchas cosas similares a openmod.
Kao y sus blogs agradecen mucho estos blogs.
drakonia por su descompresor de costura .