You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
_xeroxz
6e2b3e56fc
|
3 years ago | |
---|---|---|
demo | 3 years ago | |
dependencies | 3 years ago | |
src | 3 years ago | |
.clang-format | 4 years ago | |
.gitignore | 4 years ago | |
.gitmodules | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 4 years ago | |
vmassembler.sln | 3 years ago |
README.md
vmassembler - VMProtect 2 Virtual Instruction Assembler
vmassembler is a small C++ project which uses flex and bison to parse .vasm
files and assemble virtual instructions. The project inherits vmprofiler which is used to identify vm handler's, provide them with a name, immidate value size, and other meta data to aid in assembling virtual instructions.
Contents
The repo contains the following notable folders and files:
dependencies/
- vmprofiler is the only dependency for this project...src/
- source code for the vmassembler...compiler.cpp
- responsible for encoding and encrypting virtual instructions...parser.cpp
- a singleton class which is used inparser.y
...parser.y
- bison rules for parsing tokens. This contains only a handful of rules...lexer.l
- lex rules for the vmassembler...
Usage Requirements
In order to use the virtual instruction assembler you must first have a few values at hand. The required values are listed below:
vm_entry rva
- relative virtual address to a vm_entry...image base
- image base value from optional headers...- a path to a vasm file is required...
advancement
- which way the virtual instruction pointer advances...out path
- a path to where the vmasm file will be stored...