Coder Social home page Coder Social logo

vmp-vmassembler's Introduction

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 in parser.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...

vmp-vmassembler's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.