Skip to content

Commit 6999463

Browse files
authored
Merge pull request #77 from sunnamed434/dev
Bump new version 0.7.0-alpha.16
2 parents 3445c36 + ffcfbbc commit 6999463

129 files changed

Lines changed: 2000 additions & 620 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.idea/.idea.BitMono/.idea/.gitignore

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.BitMono/.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.BitMono/.idea/indexLayout.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.BitMono/.idea/inspectionProfiles/Project_Default.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.BitMono/.idea/jsonSchemas.xml

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/.idea.BitMono/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

BitMono.sln

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BitMono.Utilities", "src\Bi
4141
EndProject
4242
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BitMono.GUI.Utilities", "src\BitMono.GUI.Utilities\BitMono.GUI.Utilities.csproj", "{452E19E6-E967-47BC-8F0D-04FD372BBC79}"
4343
EndProject
44+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{1EF50257-AFD3-48A3-9E22-03BDC25550A7}"
45+
EndProject
46+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMono.Core.Tests", "test\BitMono.Core.Tests\BitMono.Core.Tests.csproj", "{A48CF019-9079-4CC1-8DC6-8EB6252B2071}"
47+
EndProject
48+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMono.Benchmarks", "test\BitMono.Benchmarks\BitMono.Benchmarks.csproj", "{3BF83671-AB38-4B91-82F2-40EA193E10DA}"
49+
EndProject
50+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestBinaries", "TestBinaries", "{EB40D287-0103-4693-8C26-7C3BC7C203B5}"
51+
EndProject
52+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotNet", "DotNet", "{A431DCB4-6EF9-4BEF-8902-FA704D62624E}"
53+
EndProject
54+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMono.Core.TestCases.CustomAttributes", "test\TestBinaries\DotNet\BitMono.Core.TestCases.CustomAttributes\BitMono.Core.TestCases.CustomAttributes.csproj", "{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2}"
55+
EndProject
56+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMono.Core.TestCases.Methods", "test\TestBinaries\DotNet\BitMono.Core.TestCases.Methods\BitMono.Core.TestCases.Methods.csproj", "{4166AC73-6969-406A-ADD0-67CB70A76D9C}"
57+
EndProject
58+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitMono.Core.TestCases.Types", "test\TestBinaries\DotNet\BitMono.Core.TestCases.Types\BitMono.Core.TestCases.Types.csproj", "{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7}"
59+
EndProject
4460
Global
4561
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4662
Debug|Any CPU = Debug|Any CPU
@@ -101,6 +117,26 @@ Global
101117
{452E19E6-E967-47BC-8F0D-04FD372BBC79}.Debug|Any CPU.Build.0 = Debug|Any CPU
102118
{452E19E6-E967-47BC-8F0D-04FD372BBC79}.Release|Any CPU.ActiveCfg = Release|Any CPU
103119
{452E19E6-E967-47BC-8F0D-04FD372BBC79}.Release|Any CPU.Build.0 = Release|Any CPU
120+
{A48CF019-9079-4CC1-8DC6-8EB6252B2071}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
121+
{A48CF019-9079-4CC1-8DC6-8EB6252B2071}.Debug|Any CPU.Build.0 = Debug|Any CPU
122+
{A48CF019-9079-4CC1-8DC6-8EB6252B2071}.Release|Any CPU.ActiveCfg = Release|Any CPU
123+
{A48CF019-9079-4CC1-8DC6-8EB6252B2071}.Release|Any CPU.Build.0 = Release|Any CPU
124+
{3BF83671-AB38-4B91-82F2-40EA193E10DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
125+
{3BF83671-AB38-4B91-82F2-40EA193E10DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
126+
{3BF83671-AB38-4B91-82F2-40EA193E10DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
127+
{3BF83671-AB38-4B91-82F2-40EA193E10DA}.Release|Any CPU.Build.0 = Release|Any CPU
128+
{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
129+
{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
130+
{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
131+
{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2}.Release|Any CPU.Build.0 = Release|Any CPU
132+
{4166AC73-6969-406A-ADD0-67CB70A76D9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
133+
{4166AC73-6969-406A-ADD0-67CB70A76D9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
134+
{4166AC73-6969-406A-ADD0-67CB70A76D9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
135+
{4166AC73-6969-406A-ADD0-67CB70A76D9C}.Release|Any CPU.Build.0 = Release|Any CPU
136+
{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
137+
{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
138+
{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
139+
{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7}.Release|Any CPU.Build.0 = Release|Any CPU
104140
EndGlobalSection
105141
GlobalSection(SolutionProperties) = preSolution
106142
HideSolutionNode = FALSE
@@ -119,6 +155,13 @@ Global
119155
{40615C80-C80C-4C95-ABC3-3291C32197D8} = {D87066C4-1144-4BD8-96E9-9F4676001397}
120156
{34C08A60-E141-4FAD-975F-F447317CDA79} = {D87066C4-1144-4BD8-96E9-9F4676001397}
121157
{452E19E6-E967-47BC-8F0D-04FD372BBC79} = {D87066C4-1144-4BD8-96E9-9F4676001397}
158+
{A48CF019-9079-4CC1-8DC6-8EB6252B2071} = {1EF50257-AFD3-48A3-9E22-03BDC25550A7}
159+
{3BF83671-AB38-4B91-82F2-40EA193E10DA} = {1EF50257-AFD3-48A3-9E22-03BDC25550A7}
160+
{EB40D287-0103-4693-8C26-7C3BC7C203B5} = {1EF50257-AFD3-48A3-9E22-03BDC25550A7}
161+
{A431DCB4-6EF9-4BEF-8902-FA704D62624E} = {EB40D287-0103-4693-8C26-7C3BC7C203B5}
162+
{1D6B1BA7-496F-4F91-A115-EF5E5DC6E6C2} = {A431DCB4-6EF9-4BEF-8902-FA704D62624E}
163+
{4166AC73-6969-406A-ADD0-67CB70A76D9C} = {A431DCB4-6EF9-4BEF-8902-FA704D62624E}
164+
{5DC793B1-F82B-4BC7-99C9-FE8C1545E1F7} = {A431DCB4-6EF9-4BEF-8902-FA704D62624E}
122165
EndGlobalSection
123166
GlobalSection(ExtensibilityGlobals) = postSolution
124167
SolutionGuid = {7DA0BB43-C1D4-4688-BE43-A9ED2D6F78EE}

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
| Versions: |
22
| - |
3+
| [v0.7.0-alpha](#v070-alpha16) |
34
| [v0.6.0-alpha](#v060-alpha15) |
45
| [v0.4.4-alpha](#v044-alpha13) |
56
| [v0.4.3-alpha](#v043-alpha12) |
@@ -17,6 +18,23 @@
1718
| [v0.1.0](#v010) |
1819

1920
---
21+
### v0.7.0-alpha-16:
22+
#### Added:
23+
* Unit Tests
24+
* Benchmarks
25+
* Support of ObfuscateAssemblyAttribute
26+
* New properties in obfuscation.json
27+
* Ignore members with specific attribute, eg, [SerializeField], it can be edited in criticals.json
28+
29+
#### Changed:
30+
* Obfuscation process
31+
* ObfuscationAttribute support
32+
* Moved from .NET Framework 461 to .NET Framework 462
33+
34+
#### Fixed:
35+
* [SerializableAttribute] support
36+
* [MethodImpl(MethodImplOptions.NoInlining)] support
37+
2038
### v0.6.0-alpha.15:
2139
#### Added:
2240
* New protection AntiDecompiler

README.md

Lines changed: 61 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
</p>
55

66
## BitMono
7-
[![Build status](https://ci.appveyor.com/api/projects/status/8jh35hfno6riq25j?svg=true)](https://ci.appveyor.com/project/sunnamed434/bitmono)
8-
[![Join the chat at https://gitter.im/BitMonoSpeech/community](https://badges.gitter.im/BitMonoSpeech/community.svg)](https://gitter.im/BitMonoSpeech/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
7+
[![Build status][image_build]][build]
8+
[![Test status][image_test]][test]
9+
[![Codefactor][image_codefactor]][codefactor]
10+
[![Gitter Chat][image_gitter]][gitter]
11+
[![MIT License][image_license]][license]
912

10-
BitMono is an free open-source C# obfuscator which in mostly cases works **only** with Mono - well known as fork of .NET Framework but with custom bugs or Unity. Which uses its own fork of **[dnlib](https://github.com/sunnamed434/dnlib)** for assembly manipulation. If you have any questions/issues please let me know **[there](https://github.com/sunnamed434/BitMono/issues)**. You can install lastest version of BitMono **[here](https://github.com/sunnamed434/BitMono/releases)**.
13+
BitMono is an free open-source C# obfuscator that in most cases works **only** with Mono - well known as a fork of .NET framework but for Unity, you can still use this for a whole .NET, but be careful that something working not as intentional, etc. Which uses **[AsmResolver][asmresolver]** for assembly manipulation. If you have any questions/issues please let me know **[there][bitmono_issues]**. You can install the latest version of BitMono **[here][bitmono_releases]**.
1114

1215
<p align="center">
1316
<img src="https://raw.githubusercontent.com/sunnamed434/BitMono/main/resources/images/preview/before-after.png"
@@ -30,10 +33,10 @@ BitMono is an free open-source C# obfuscator which in mostly cases works **only*
3033
</p>
3134

3235
## Documentation
33-
Open **[wiki](https://github.com/sunnamed434/BitMono/wiki)** to read protections functionnality and more.
36+
Open the **[wiki][bitmono_wiki]** to read protection, functionality and more.
3437

35-
## How your app will look since BitMono obfuscation - just in a few-words
36-
* Seems to C++ application but this is actual C# application
38+
## How your app will look since BitMono obfuscation - just in a few words
39+
* Looks like C++ application but is an actual C# application
3740
* Crash of decompilers when analyzing types
3841
* Broken decompilers
3942
* Broken IL Code
@@ -42,11 +45,10 @@ Open **[wiki](https://github.com/sunnamed434/BitMono/wiki)** to read protections
4245

4346
## Obfuscation Features
4447
* StringsEncryption
45-
* **[BitDotNet](https://github.com/0x59R11/BitDotNet)** (based and improved on existing protection)
46-
* **[BitMethodDotnet](https://github.com/sunnamed434/BitMethodDotnet)** (based and improved on existing protection)
47-
* **[DotNetHook](https://github.com/Elliesaur/DotNetHook)** (based on existing protection)
48+
* **[BitDotNet][bitdotnet_source]** (based and improved on existing protection)
49+
* **[BitMethodDotnet][bitmethoddotnet_source]** (based and improved on existing protection)
50+
* **[DotNetHook][dotnethook_source]** (based on existing protection)
4851
* Call to calli
49-
* FieldsHiding (Deprecated)
5052
* ObjectReturnType
5153
* NoNamespaces
5254
* FullRenamer
@@ -57,18 +59,55 @@ Open **[wiki](https://github.com/sunnamed434/BitMono/wiki)** to read protections
5759
## Usage
5860
`BitMono.CLI <path to file>/drag-and-drop or use BitMono.GUI (GUI Windows only)`
5961

60-
Always drop dependencies in `libs` directory in the same path where is obfuscation `file` located
62+
Always drop dependencies in `libs` directory in the same path where `file` for obfuscation is located
6163

62-
Credits
63-
-------
64-
**[0x59R11](https://github.com/0x59R11)** for his acquaintance in big part of **[BitDotNet](https://github.com/0x59R11/BitDotNet)** that breaks files for mono executables!
65-
66-
**[Gazzi](https://github.com/GazziFX)** for his help that [me](https://github.com/sunnamed434) asked a lot!
67-
68-
**[Elliesaur](https://github.com/Elliesaur)** for his acquaintance in **[DotNetHook](https://github.com/Elliesaur/DotNetHook)** that hooks methods.
6964

70-
**[Weka](https://github.com/sasharumega)** for his advices, help and motivation.
65+
### Detailed build status
66+
Branch | AppVeyor
67+
------------- | -------------
68+
main | [![Build status][image_appveyor_main_badge]][appveyor_main_build]
69+
dev | [![Build status][image_appveyor_dev_badge]][appveyor_dev_build]
7170

72-
**[ConfuserEx and their Forks](https://github.com/yck1509/ConfuserEx)** for most things that I watched for the architecture of BitMono and the obfuscator engine as an application and solving plenty of User solutions which I would be knew in the very long future after much fail usage of BitMono and reports by other Users. Day-by-day I'm looking for something interesting there to improve myself in knowledge and BitMono also.
73-
74-
**[Kao and his blogs](https://lifeinhex.com/)** thanks a lot of these blogs.
71+
Credits
72+
-------
73+
**[0x59R11][author_0x59r11]** for his acquaintance in big part of **[BitDotNet][bitdotnet_source]** that breaks files for mono executables!
74+
75+
**[Gazzi][author_gazzi]** for his help that [me][author_sunnamed434] asked a lot!
76+
77+
**[Elliesaur][author_ellisaur]** for his acquaintance in **[DotNetHook][dotnethook_source]** that hooks methods.
78+
79+
**[Weka][author_weka]** for his advices, help and motivation.
80+
81+
**[ConfuserEx and their Forks][confuserex_source]** for most things that I watched for the architecture of BitMono and the obfuscator engine as an application and solving plenty of User solutions which I would be knew in the very long future after much fail usage of BitMono and reports by other Users. Day-by-day I'm looking for something interesting there to improve myself in knowledge and BitMono also.
82+
83+
**[Kao and his blogs][author_kao_blog]** thanks a lot of these blogs.
84+
85+
[build]: https://ci.appveyor.com/project/sunnamed434/bitmono
86+
[test]: https://ci.appveyor.com/project/sunnamed434/bitmono/branch/main/tests
87+
[codefactor]: https://www.codefactor.io/repository/github/sunnamed434/bitmono/overview/main
88+
[gitter]: https://gitter.im/BitMonoSpeech/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
89+
[license]: https://github.com/sunnamed434/BitMono/blob/main/LICENSE
90+
[asmresolver]: https://github.com/Washi1337/AsmResolver
91+
[bitmono_issues]: https://github.com/sunnamed434/BitMono/issues
92+
[bitmono_releases]: https://github.com/sunnamed434/BitMono/releases
93+
[bitmono_wiki]: https://github.com/sunnamed434/BitMono/wiki
94+
[bitdotnet_source]: https://github.com/0x59R11/BitDotNet
95+
[bitmethoddotnet_source]: https://github.com/sunnamed434/BitMethodDotnet
96+
[dotnethook_source]: https://github.com/Elliesaur/DotNetHook
97+
[confuserex_source]: https://github.com/yck1509/ConfuserEx
98+
[author_0x59r11]: https://github.com/0x59R11
99+
[author_gazzi]: https://github.com/GazziFX
100+
[author_ellisaur]: https://github.com/Elliesaur
101+
[author_weka]: https://github.com/sasharumega
102+
[author_kao_blog]: https://lifeinhex.com/
103+
[author_sunnamed434]: https://github.com/sunnamed434
104+
[appveyor_main_build]: https://ci.appveyor.com/project/sunnamed434/bitmono/branch/main
105+
[appveyor_dev_build]: https://ci.appveyor.com/project/sunnamed434/bitmono/branch/dev
106+
107+
[image_build]: https://ci.appveyor.com/api/projects/status/8jh35hfno6riq25j?svg=true&style=plastic
108+
[image_test]: https://img.shields.io/appveyor/tests/sunnamed434/bitmono/main?style=plastic
109+
[image_codefactor]: https://www.codefactor.io/repository/github/sunnamed434/bitmono/badge/main
110+
[image_gitter]: https://badges.gitter.im/BitMonoSpeech/community.svg?style=plastic
111+
[image_license]: https://img.shields.io/github/license/sunnamed434/bitmono
112+
[image_appveyor_main_badge]: https://ci.appveyor.com/api/projects/status/8jh35hfno6riq25j/branch/main?svg=true
113+
[image_appveyor_dev_badge]: https://ci.appveyor.com/api/projects/status/b9rm3l7kduryjgcj/branch/dev?svg=true

src/BitMono.API/BitMono.API.csproj

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;net462</TargetFrameworks>
55
<LangVersion>10.0</LangVersion>
66
</PropertyGroup>
77

@@ -21,6 +21,15 @@
2121
<DebugType>none</DebugType>
2222
</PropertyGroup>
2323

24+
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
25+
<DebugSymbols>false</DebugSymbols>
26+
<DebugType>none</DebugType>
27+
</PropertyGroup>
28+
29+
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
30+
<DebugType>none</DebugType>
31+
</PropertyGroup>
32+
2433
<ItemGroup>
2534
<PackageReference Include="AsmResolver" Version="5.0.0" />
2635
<PackageReference Include="AsmResolver.DotNet" Version="5.0.0" />
@@ -32,7 +41,7 @@
3241
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0-rc.2.22472.3" />
3342
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0-rc.2.22472.3" />
3443
<PackageReference Include="morelinq" Version="3.3.2" />
35-
<PackageReference Include="NullGuard.Fody" Version="3.1.0" />
44+
<PackageReference Include="NullGuard.Fody" Version="3.1.0" PrivateAssets="All" />
3645
</ItemGroup>
3746

3847
<ItemGroup>

0 commit comments

Comments
 (0)