Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggest VMProtect Heaven's Gate syscall Bypass trick. #156

Open
miketestz opened this issue Aug 30, 2023 · 2 comments
Open

Suggest VMProtect Heaven's Gate syscall Bypass trick. #156

miketestz opened this issue Aug 30, 2023 · 2 comments

Comments

@miketestz
Copy link

miketestz commented Aug 30, 2023

Test Environment: Windows 1022H2 (19045.3324) x64

VMP Version: 3.8.4 Build 1754

Description

VMProtect started using Heaven's gate to make it difficult to bypass Usermode Anti-Debug.

VMP uses ZwQueryInformationProcess (ProcessWow64Information) to check if the running process is wow64, and if the value is 0, it runs the sysenter opcode, judging that it is a 32bit operating system.

An exception occurred when the wow64 process ran the "sysenter" opcode, and I installed VectorHandler to handle the exception.

Exception Handler Functions:

  1. check that the exception location that occurred is the "sysenter" opcode.

  2. Check which Zw** APIs are called (checked in the eax register)

  3. load all the arguments recorded in ContextRecord and call the Zw** function as proxy. (API with anti-debug bypass)

  4. put the return value of the API into eax and resume the execution flow with the next instruction in the "sysenter" opcode.

Through the above process, I was able to bypass the VMP Anti-Debug!

bandicam.2023-08-30.23-52-29-912.mp4

fork url : master...miketestz:ScyllaHide_VMPHeavensgateBypass:master

@mrexodia
Copy link
Member

A pull request would be good, I cannot really work on this project right now.

@sunbeam906
Copy link

sunbeam906 commented Apr 13, 2024

Can confirm the trick works nicely. But just so everyone understands: this is for x86 VMP targets only :)

ScyllaHideX64DBGPlugin.dp32.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants