From 3e04a5feea754bc062cefa4436fa82afb2b8d4cb Mon Sep 17 00:00:00 2001 From: _xeroxz Date: Sun, 13 Jun 2021 01:58:50 +0000 Subject: [PATCH] Update README.md --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index aa020ed..e496030 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,14 @@ -# VMProfiler - Library To Profile VMProtect 2 Virtual Machines +### VMProfiler - Library To Profile VMProtect 2 Virtual Machines -vmprofiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu. This is the base project for all other VMProtect 2 projects inside of this group on githacks. \ No newline at end of file +VMProfiler is a c++ library which is used to statically analyze VMProtect 2 polymorphic virtual machines. This project is inherited in vmprofiler-qt, vmprofiler-cli, and vmemu. This is the base project for all other VMProtect 2 projects inside of this group on githacks/vmp2. + +### 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. + +```cpp +vm::ctx_t vmctx( module_base, image_base, image_size, vm_entry_rva ); +``` \ No newline at end of file