Update README.md

merge-requests/11/merge
_xeroxz 3 years ago
parent 3e04a5feea
commit 01cd5dc8ae

@ -10,7 +10,7 @@ VMProfiler is a c++ library which is used to statically analyze VMProtect 2 poly
### Basic Usage - vm::ctx_t instantiation
In order to use VMProfiler you must create a `vm::ctx_t`. In order to instantiate a new instance of the `vm::ctx_t` class, you must first have a protected binary loaded into memory. You must also know its image base which can be located by parsing it from [IMAGE_OPTIONAL_HEADER64](https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64) structure. The next bit of information you will need is the size of the image in memory which you can also get from [IMAGE_OPTIONAL_HEADER64](https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64) structure. The last bit of informationy you will need to know is the relative virtual address (from the base of the module in memory) to a vm entry. This must include the push encrypted rva. Now you are ready to create your first `vm::ctx_t` object.
In order to use VMProfiler you must create a `vm::ctx_t`. In order to instantiate a new instance of the `vm::ctx_t` class, you must first have a protected binary loaded into memory. You must also know its image base which can be located by parsing it from [IMAGE_OPTIONAL_HEADER64](https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64) structure. The next bit of information you will need is the size of the image in memory which you can also get from [IMAGE_OPTIONAL_HEADER64](https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-image_optional_header64) structure. The last bit of information you will need to know is the relative virtual address (from the base of the module in memory) to a vm entry. This must include the push encrypted rva. Now you are ready to create your first `vm::ctx_t` object.
```cpp
vm::ctx_t vmctx( module_base, image_base, image_size, vm_entry_rva );

Loading…
Cancel
Save