Skip to content

Commit 2e96937

Browse files
authored
Merge pull request #225 from sunnamed434/bitmono-fixes
Fix dotnet tool and add new docs
2 parents c1d1f9e + a2ffd2f commit 2e96937

25 files changed

+653
-165
lines changed

.github/actions/nuget-pack/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ runs:
1919
shell: bash
2020
- name: Push to NuGet (Release)
2121
run: if ${{ inputs.nuget_push == 'true' }}; then
22-
dotnet nuget push *.nupkg --skip-duplicate --api-key ${{ inputs.nuget_key }} --source https://api.nuget.org/v3/index.json;
22+
dotnet nuget push *.nupkg --api-key ${{ inputs.nuget_key }} --source https://api.nuget.org/v3/index.json;
2323
fi
2424
shell: bash

README.md

Lines changed: 13 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -85,94 +85,29 @@ Read the **[docs][bitmono_docs]** to read protection, functionality, and more.
8585
* AntiILdasm
8686
* and you can integrate existing/make own feature ;)
8787

88-
## Usage
89-
90-
### Download
91-
92-
To download the latest release of BitMono, follow these steps:
93-
94-
1. Go to the [Latest BitMono Release][bitmono_latest_release].
95-
2. Select and download the archive file that matches the Target Framework of the application you want to protect. Here are some examples:
96-
97-
- **Targeting .NET 8**: If your target file is built for .NET 8, download:
98-
`BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip`
99-
100-
- **Targeting .NET Standard**: If your target file is built for .NET Standard, you can use either BitMono for .NET Framework or .NET 8:
101-
`BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip`
102-
103-
- **Targeting .NET Framework**: If your target file is built for .NET Framework, download:
104-
`BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip`
105-
106-
- **Targeting Mono or Unity Engine Runtime**: If your target file is built for .NET Framework and runs on Mono or Unity, use the .NET Framework version:
107-
`BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip`
108-
109-
> **Note:** Be sure to select the correct version of BitMono that matches your Target Framework. Using the wrong version could result in compatibility issues, however, if that works ok anyway or if you know what you're doing, you can ignore it.
110-
111-
### Pre-Require
112-
113-
Enable one of the protection in `protections.json` file: Set `Enabled` to `true`.
114-
115-
### Using CLI
116-
117-
`BitMono.CLI <path to file>/drag-and-drop`
118-
119-
Always drop dependencies in `libs` directory in the same path where `file` for obfuscation is located
120-
121-
Your obfuscation directory structure will look something like this:
122-
```
123-
specially_created_folder_for_obfuscation/
124-
├─ your_app.exe
125-
└─ libs/
126-
├─ ImportantLibrary.dll
127-
├─ SuperImportantLibrary.dll
128-
└─ ...
129-
```
130-
131-
Copy all libraries (.dll) from the building application folder and paste them into the `libs` directory (if it doesn't exist yet create it), or even create the libs directory yourself with a custom name for example - `myLibs`, and then specify it in BitMono, however, if you will use `libs` then by default BitMono looking for a `libs` directory, so it will save your time.
132-
133-
### Using CLI Commands
134-
135-
```console
136-
-f, --file Required. Set file path.
137-
138-
-l, --libraries Set libraries path.
139-
140-
-o, --output Set output path.
141-
142-
--help Display this help screen.
143-
144-
--version Display version information.
145-
```
146-
147-
Basic example
148-
```console
149-
$ BitMono.CLI -f C:\specially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
150-
```
88+
## Documentation
15189

152-
In case when you already have a directory with the name `libs` (specially_created_folder_for_obfuscation\libs) BitMono will catch it automatically, so, you don't need to specify it anymore, but you can in case if you made another directory with `libs` somewhere on the disk or even just for "visibility".
153-
```console
154-
$ BitMono.CLI -f C:\specially_created_folder_for_obfuscation/your_app.exe
155-
```
90+
Read the **[docs][bitmono_docs]** for comprehensive usage instructions, installation guides, and detailed documentation.
15691

157-
Specify custom `libs` directory
158-
```console
159-
$ BitMono.CLI -f C:\specially_created_folder_for_obfuscation/your_app.exe -l C:\mythings\obfuscation\superLibsDirectory
160-
```
92+
**Quick Start:**
93+
1. Download from [releases][bitmono_releases]
94+
2. Run `BitMono.CLI` and follow the prompts
95+
3. (optional) See the [How To Use guide][bitmono_docs] for detailed instructions
16196

162-
Specify file, libs and output. If output directory doesn't exist BitMono will create it automatically and even open it on the top of the screen, if you want you can disable opening of the directory on the of top of the screen in `obfuscation.json` - and set `OpenFileDestinationInFileExplorer` to false.
163-
```console
164-
$ BitMono.CLI -f C:\specially_created_folder_for_obfuscation/your_app.exe -l C:\mythings\obfuscation\superLibsDirectory -o C:\specially_created_folder_for_obfuscation/output
165-
```
97+
**Installation Options:**
98+
- **GitHub Releases**: Download pre-built executables
99+
- **.NET Global Tool**: `dotnet tool install --global BitMono.GlobalTool`
100+
- **NuGet Packages**: Integrate into your projects
166101

167-
Want more? Simply read the **[docs][bitmono_docs]**.
102+
For detailed installation and usage instructions, see the **[documentation][bitmono_docs]**.
168103

169104
### Troubleshooting
170105

171-
Having issues? Get more help **[here][troubleshooting]**.
106+
Having issues? See the `troubleshooting guide <https://bitmono.readthedocs.io/en/latest/usage/troubleshooting.html>`_ in the documentation.
172107

173108
### Building
174109

175-
If you want to build the BitMono by your own - [click here for detailed info][build_info]
110+
If you want to build BitMono yourself - see the `building guide <https://bitmono.readthedocs.io/en/latest/developers/building.html>`_ in the documentation.
176111

177112
### Supported Frameworks
178113

build.md

Lines changed: 9 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,12 @@
1-
## Binaries
1+
# Building BitMono
22

3-
If you just need the compiled binaries simply install them [from releases][releases] - open the dropdown button `Assets`, and select the preferred archive, these binaries were made automatically via CI/CD pipeline.
3+
**This content has been moved to the documentation.**
44

5-
### Compiling
5+
For comprehensive building instructions, please see the [Building Guide](https://bitmono.readthedocs.io/en/latest/developers/building.html) in the documentation.
66

7-
Recommended to install tools via Visual Studio installer, otherwise you can install those tools directly via provided links down below or just searching for it by yourself.
8-
9-
- [.NET Framework 462][net462]
10-
- [Visual Studio 2022][vs2022]/[JetBrains Rider][rider] or newer to build the solution
11-
- [.NET 9.0][net9]
12-
- [.NET 8.0][net8]
13-
- [.NET 7.0][net7]
14-
- [.NET 6.0][net6]
15-
16-
To build the solution from command line, use:
17-
18-
```bash
19-
$ dotnet build
20-
```
21-
22-
Otherwise do that via IDE `Build` button if you have.
23-
24-
To run tests, use:
25-
26-
```bash
27-
$ dotnet test
28-
```
29-
30-
### Release On GitHub details
31-
32-
Archives examples (versions and/or naming can be a bit different):
33-
- .NET 9.0: `BitMono-v0.24.2+7aaeceac-CLI-net9.0-linux-x64.zip`
34-
- .NET 8.0: `BitMono-v0.24.2+7aaeceac-CLI-net8.0-linux-x64.zip`
35-
- .NET 7.0: `BitMono-v0.24.2+7aaeceac-CLI-net7.0-win-x64.zip`
36-
- .NET 6.0: `BitMono-v0.24.2+7aaeceac-CLI-net6.0-linux-x64.zip`
37-
- .NET 462: `BitMono-v0.24.2+7aaeceac-CLI-net462-win-x64.zip`
38-
- netstandard 2.1: `BitMono-v0.24.2+7aaeceac-CLI-netstandard2.1-linux-x64.zip`
39-
- netstandard 2.0: `BitMono-v0.24.2+7aaeceac-CLI-netstandard2.0-win-x64.zip`
40-
41-
To be more clear:
42-
- `v0.24.2` is the version and the value `+7aaeceac` after the version is the hash of the commit.
43-
- `CLI` is the `command line interface` meaning, currently BitMono only have CLI for usage.
44-
- `net.9.0`, `net8.0`, `net7.0`, `net6.0`, `net462`, `netstandard2.1`, `netstandard2.0` is the target framework that BitMono was built on.
45-
46-
### Help
47-
48-
If you have any issues/questions freely, ask them [here][issues], or contact via:
49-
- Email: sunnamed434 (at) proton.me
50-
51-
[net462]: https://dotnet.microsoft.com/en-us/download/dotnet-framework/net462
52-
[vs2022]: https://visualstudio.microsoft.com/downloads
53-
[rider]: https://www.jetbrains.com/rider/download
54-
[net6]: https://dotnet.microsoft.com/en-us/download/dotnet/6.0
55-
[net7]: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
56-
[net8]: https://dotnet.microsoft.com/en-us/download/dotnet/8.0
57-
[net9]: https://dotnet.microsoft.com/en-us/download/dotnet/9.0
58-
[releases]: https://github.com/sunnamed434/BitMono/releases
59-
[issues]: https://github.com/sunnamed434/BitMono/issues
7+
The documentation includes:
8+
- Prerequisites and tools needed
9+
- Building from source
10+
- Running tests
11+
- Release archive explanations
12+
- Getting help with building issues

docs/README.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Prerequisites:
44
- Ensure Docker is installed on your machine. If not, install Docker from https://docs.docker.com/get-docker/.
55

66
Running Locally:
7-
1. Start Docker if its not already running.
7+
1. Start Docker if it's not already running.
88
2. Open a terminal and navigate to the directory containing your docker-compose.yml file.
99
3. Execute the following command to build and start the container:
1010
docker-compose up --build
@@ -18,6 +18,6 @@ Restarting the Container:
1818

1919
To edit/update docs:
2020
Prerequisites:
21-
- Use Visual Studio Code, or any other tool. https://code.visualstudio.com/
21+
- Use Visual Studio Code (tps://code.visualstudio.com/), or any other tool.
2222

23-
Go to `source` folder and do your magic!
23+
Go to 'source' folder and do your magic!

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# -- Project information
44

55
project = 'BitMono'
6-
copyright = '2022-2024, BitMono'
6+
copyright = '2022-2025, BitMono'
77
author = 'sunnamed434'
88

99
release = '0.1'
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
Building BitMono
2+
===============
3+
4+
Getting Binaries
5+
---------------
6+
7+
If you just need the compiled binaries, grab them `from releases <https://github.com/sunnamed434/BitMono/releases>`_. Open the dropdown button `Assets` and pick the archive you want. These binaries are built automatically via CI/CD pipeline.
8+
9+
Building from Source
10+
-------------------
11+
12+
Prerequisites
13+
~~~~~~~~~~~~
14+
15+
Recommended to install tools via Visual Studio installer, otherwise you can grab those tools directly via the links below:
16+
17+
- `Visual Studio 2022 <https://visualstudio.microsoft.com/downloads>`_ or `JetBrains Rider <https://www.jetbrains.com/rider/download>`_ or newer
18+
- `.NET Framework 4.6.2 <https://dotnet.microsoft.com/en-us/download/dotnet-framework/net462>`_
19+
- `.NET 9.0 <https://dotnet.microsoft.com/en-us/download/dotnet/9.0>`_
20+
- `.NET 8.0 <https://dotnet.microsoft.com/en-us/download/dotnet/8.0>`_
21+
- `.NET 7.0 <https://dotnet.microsoft.com/en-us/download/dotnet/7.0>`_
22+
- `.NET 6.0 <https://dotnet.microsoft.com/en-us/download/dotnet/6.0>`_
23+
24+
Building
25+
~~~~~~~~
26+
27+
To build the solution from command line:
28+
29+
.. code-block:: console
30+
31+
dotnet build
32+
33+
Or just use the IDE `Build` button if you have one.
34+
35+
Testing
36+
~~~~~~~
37+
38+
To run tests:
39+
40+
.. code-block:: console
41+
42+
dotnet test
43+
44+
Release Archives
45+
---------------
46+
47+
Archive examples (versions and naming might be different):
48+
49+
- .NET 9.0: ``BitMono-v0.24.2+7aaeceac-CLI-net9.0-linux-x64.zip``
50+
- .NET 8.0: ``BitMono-v0.24.2+7aaeceac-CLI-net8.0-linux-x64.zip``
51+
- .NET 7.0: ``BitMono-v0.24.2+7aaeceac-CLI-net7.0-win-x64.zip``
52+
- .NET 6.0: ``BitMono-v0.24.2+7aaeceac-CLI-net6.0-linux-x64.zip``
53+
- .NET 462: ``BitMono-v0.24.2+7aaeceac-CLI-net462-win-x64.zip``
54+
- netstandard 2.1: ``BitMono-v0.24.2+7aaeceac-CLI-netstandard2.1-linux-x64.zip``
55+
- netstandard 2.0: ``BitMono-v0.24.2+7aaeceac-CLI-netstandard2.0-win-x64.zip``
56+
57+
Archive naming explained:
58+
59+
- ``v0.24.2`` is the version
60+
- ``+7aaeceac`` after the version is the commit hash
61+
- ``CLI`` means command line interface (currently BitMono only has CLI)
62+
- ``net9.0``, ``net8.0``, etc. is the target framework BitMono was built on
63+
64+
Getting Help
65+
-----------
66+
67+
If you run into issues or have questions:
68+
69+
- Ask them `here <https://github.com/sunnamed434/BitMono/issues>`_
70+
- Email: sunnamed434 (at) proton.me

docs/source/developers/native-code.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Native Code
2-
###########
2+
===========
33

44
If you want to use a native code in the protection you must do the following:
55

docs/source/index.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ Join our `Discord Server <https://discord.gg/sFDHd47St4>`_ you will find there h
1010
Table of Contents:
1111
------------------
1212

13+
.. toctree::
14+
:maxdepth: 1
15+
:caption: Usage
16+
:name: sec-usage
17+
18+
usage/how-to-use
19+
usage/troubleshooting
20+
1321
.. toctree::
1422
:maxdepth: 1
1523
:caption: Protections
@@ -55,6 +63,7 @@ Table of Contents:
5563
developers/do-not-resolve-members
5664
developers/configuration
5765
developers/obfuscate-build
66+
developers/building
5867

5968

6069
.. toctree::

0 commit comments

Comments
 (0)