You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**[Weka][author_naweka]** for his advices, help and motivation.
151
152
153
+
**[MrakDev][author_mrakdev]** for the acquaintance in **[UnmanagedString][unmanagedstring_source]**.
154
+
152
155
**[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.
153
156
154
157
**[OpenMod][openmod_source]** Definitely, openmod inspired this project a lot with services and clean code, extensive similar things to openmod.
Copy file name to clipboardExpand all lines: docs/developers/do-not-resolve-members.rst
+17-13Lines changed: 17 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,12 @@
1
1
Do Not Resolve Members
2
2
======================
3
3
4
+
5
+
.. warning::
6
+
7
+
Be careful, because ``Context.Module`` (ModuleDefinition) doesn't affected by ``DoNotResolveAttribute``.
8
+
9
+
4
10
For comfort BitMono provides an API which able to do not pass specfic members inside of the protection for easier understanding and abstraction let's call ``members`` as - types/methods/fields/properties, etc.
5
11
6
12
@@ -32,18 +38,14 @@ Add attribute ``[DoNotResolve(MemberInclusionFlags.Reflection)]`` with ``MemberI
@@ -61,7 +63,7 @@ THIS IS TOTALLY BAD AND WRONG! Sorting doesn't affects to the actual Module.
61
63
62
64
63
65
64
-
Instead highly recommend to use this:
66
+
Instead highly recommend to use this.
65
67
66
68
67
69
.. code-block:: csharp
@@ -75,8 +77,10 @@ Instead highly recommend to use this:
75
77
}
76
78
77
79
78
-
This is also was wrong because if you will try to get access to the ``type.Methods``, etc, methods are not sorted, use specificly what you need, for example:
79
-
- Need access to the types and methods? Then do this:
80
+
This is also was wrong because if you will try to get access to the ``type.Methods``, etc, methods are not sorted, use specificly what you need, for example.
81
+
82
+
83
+
Need access to the types and methods? Then do this.
80
84
81
85
82
86
.. code-block:: csharp
@@ -94,7 +98,7 @@ This is also was wrong because if you will try to get access to the ``type.Metho
94
98
}
95
99
96
100
97
-
Need access to the methods? Then just iterrate through the methods:
101
+
Need access to the methods? Then just iterrate through the methods.
Copy file name to clipboardExpand all lines: docs/developers/obfuscation-execution-order.rst
+15-13Lines changed: 15 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,12 +3,14 @@ Obfuscation Engine Execution Order
3
3
4
4
BitMono uses its own obfuscation execution order which is good to be known, and it reminds ConfuserEx a lot, if you're familiar with it you can be easier with it.
5
5
6
-
1. Basic output information about Protections
7
-
2. Elapsed time counter
8
-
3. Output Information of Running Framework
9
-
4. Resolve References
10
-
5. Expand Macros
11
-
6. Run Protection, PipelineProtection and child pipeline protections
6
+
1. Output Loaded Module Info
7
+
2. Sort Protections
8
+
3. Basic output information about Protections
9
+
4. Elapsed time counter
10
+
5. Output Information of Running Framework
11
+
6. Resolve References
12
+
7. Expand Macros
13
+
8. Run Protection, PipelineProtection and child pipeline protections
12
14
13
15
14
16
.. code-block:: csharp
@@ -18,17 +20,17 @@ BitMono uses its own obfuscation execution order which is good to be known, and
Copy file name to clipboardExpand all lines: docs/protections/stringsencryption.rst
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,9 @@ StringsEncryption
3
3
4
4
How it works?
5
5
-------------
6
-
Protection encrypts strings using basic AES encryption, but not everyone like it because it makes the worse performance of application.
6
+
Protection encrypts strings using basic AES encryption, but not everyone like it because it makes the worse performance of application, but can be used with AntiDecompiler to crash dnSpy while analyzing the used class, also makes the RVA of the byte[] 0
7
7
8
-
Had big thoughts about `Unmanaged String <https://github.com/MrakDev/UnmanagedString>`_, but, as I tested in Mono it causes problems.
0 commit comments