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
<strong>VMUnprotect</strong> is a project engaged in hunting virtualized <ahref="https://vmpsoft.com">VMProtect</a> methods. It makes use of <ahref="https://github.com/pardeike/Harmony">Harmony</a> to dynamically read <strong>VMP</strong> behavior. Currently only supports method administration. Works on <ahref="https://vmpsoft.com/20210919/vmprotect-3-5-1/">VMProtect 3.5.1</a> (Latest) and few versions back.
@@ -12,11 +12,15 @@
12
12
</p>
13
13
14
14
## Showcase
15
-
<imgsrc="VMUP/media/gif.gif">
15
+
<imgsrc="Images/showcase.gif">
16
16
17
17
# Usage
18
18
```sh
19
-
VMUnprotect.exe <path to assembly> [args to assembly]
19
+
VMUnprotect.exe
20
+
-f, --file Required. Path to file.
21
+
--usetranspiler (Default: false) Use an older method that makes use of Transpiler (not recommended).
22
+
--help Display this help screen.
23
+
--version Display version information.
20
24
```
21
25
22
26
# Supported Protections
@@ -32,61 +36,51 @@ Virtualization Tools | Yes
32
36
Strip Debug Information | Yes
33
37
Pack the Output File | No
34
38
35
-
# Usage can be found in ```MiddleMan.cs```
39
+
# Usage can be found in ```Methods\MiddleMan.cs```
36
40
```csharp
37
-
namespaceVMUnprotect
38
-
{
39
-
/// <summary>
40
-
/// Works as Middle Man to make life easier
41
-
/// </summary>
42
-
internalstaticclassMiddleMan
41
+
internalstaticclassMiddleMan
43
42
{
44
-
/// <summary>
45
-
/// This function manipulate can manipulate, log actual invokes from virtualized VMP functions.
As VMProtect describes it on their's website. Code virtualization is the next step in software protection. Most protection systems encrypt the code and then decrypt it at the application’s startup. VMProtect doesn’t decrypt the code at all! Instead, the encrypted code runs on a virtual CPU that is markedly different from generic x86 and x64 CPUs as the command set is different for each protected file.
@@ -95,7 +89,13 @@ As VMProtect describes it on their's website. Code virtualization is the next st
95
89
No, isn't even meant for devirtualization.
96
90
97
91
# Credits
92
+
*[Washi](https://github.com/Washi1337) Overall credits for the project and inspiration with UnsafeInvokeInternal, thanks <3
93
+
98
94
This tool uses the following (open source) software:
99
95
*[dnlib](https://github.com/0xd4d/dnlib) by [0xd4d](https://github.com/0xd4d), licensed under the MIT license, for reading/writing assemblies.
100
-
*[Harmony](https://github.com/pardeike/Harmony) by [Andreas Pardeike](https://github.com/pardeike), licensed under the MIT license, for patching the stacktrace which allows for reflection invocation to be used.
96
+
*[Harmony](https://github.com/pardeike/Harmony) by [Andreas Pardeike](https://github.com/pardeike), licensed under the MIT license
101
97
*[Serilog](https://github.com/serilog/serilog) provides diagnostic logging to files, the console, and elsewhere. It is easy to set up, has a clean API.
0 commit comments