um-trace is a demo project/repo which contains an example of how to create a runtime trace of a VMProtect'ed binary (VMProtect 2). The binaries in this repo are not packed for simplicity sake, however in later demo's I will be applying packing to the executable.
um-hook is a demo project/repo which contains an example of how to hook a virtual instruction and alter its results. The binaries in this repo are not packed for simplicity sake, however in later demo's I will be applying packing to the executable.
#### Contents
#### Contents
* dependencies/ - this project is dependent on `vmtracer`.
* dependencies/ - this project is dependent on `vmhook`.
* refbuilds/ - binaries protected with `ultra virtualization` and no packing. These bins are for you to mess with!
* refbuilds/ - binaries protected with `ultra virtualization` and no packing. These bins are for you to mess with!
* src/ - source code for the usermode tracer.
* src/ - source code for the usermode tracer.
* vmptest/ - source code for the the test bins
* vmptest/ - source code for the the test bins
* um-tracer/ - source code for usermode tracer, includes a hook on `LCONSTBZX`.
* um-hook/ - source code for usermode hook, includes a hook on `LCONSTBZX`.
### Usage
### Usage
First download the repo with `git clone --recursive https://githacks.org/vmp2/um-tracer.git`, then compile the `um-tracer` by opening `demo.sln` inside of `src/`. There should be an executable called `um-tracer.exe` in `x64/Release`. This tracer program is compiled for the first `vmptest` binary in the `refbuilds` directly.
First download the repo with `git clone --recursive https://githacks.org/vmp2/um-hook.git`, then compile the `um-hook` by opening `demo.sln` inside of `src/`. There should be an executable called `um-hook.exe` in `x64/Release`. This hook demo program is compiled for the first `vmptest` binary in the `refbuilds` directly.