Skip to content

The compiler needs work #7

@xtremegamer1

Description

@xtremegamer1

There are some issues right now with the compiler. For example, many VTIL instructions and more exotic native registers lack implementation. Also, making vexit compile into a "ret" is a bad idea. I think it would make more sense to compile into an unconditional jmp to the operand of the vexit. Whoever wrote the compiler seems to think that VTIL routines should be subroutines with their own stack frame, but at least with vmprotect it makes more sense to think of them as code that could be executed inline with the native code wrapping vmenters, because a single vmenter rarely (maybe never?) represents a routine with its own stack frame and instead represent snippets of code that modify the stack of the "caller" (vmenterer?) I am not sure the facilities provided by asmjit for virtual register allocation are best suited to this project because they seem to be bound to the notion of a function with its own stack, perhaps a custom one will need to be built or a different library used.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions