linux program protected by vmp 3.1.2 crash directly in c5 series instance of AWS

Program protected by vmp 3.1.2 will crash in c5 series instance. No matter what kind of linux system: CentOS 、Ubuntu. Only show “Segmentation fault”.

However, the program protected by vmp 3.1.2 can run in c4 / m4 series instances, without any problem.

Please help to fix this problem.
Thank you

If you need a server to test, I can allocate an test instance for you.

What about VMProtect 3.2?

VMProtect 3.2 is the same phenomenon as VMProtect 3.1.2

demo.c:

#include <stdio.h>
int main()
{
    printf("This is a test.\n");
    printf("Test done.\n");
    return 0;
}

gcc demo.c -o demo

./demo
This is a test.
Test done.

./demo_vmp
Segmentation fault

Is it due to certain characteristics of the CPU?
The only difference between C4 and C5 instance is the CPU.

Why do you close this report? @Admin

This is a really serious bug ! Is there any solution?

If you need a server to test, I can allocate an test instance for you. You can contact me by my register mail, and I will allocate an C5 instance in AWS for you.

I found the other report : https://techreport.com/forumshttps://forum.vmpsoft.com/viewtopic.php?t=121397
Looks like the same problem.

Intel Xeon(Skylake) Platinum 、intel Xeon(skylake)Gold CPU .

Unfortunately we have no idea what happens in c5 series instance of AWS.

  1. My client asked to run my program on c5 series 's machine, which is a very urgent question
  2. This is sure to be a bug in VMProtect, the source code is there for you, why not help debugging it?
    I am a paying user, it is your responsibility to solve such bugs, and if you need the environment I can provide.
    Looking forward to your reply

In addition, my program protected by upx can run on c5 series instance of AWS.

Could we connect to such instance with remote debugger?

Please send an email to supermilg@qq.com with your email. I will send you the SSH login private key of the machine, and then you can operate the machine at will.

I haven’t received your email so far. so, what happened?

An email including ssh key has sent to you. Check. Thank you!

It seems the problem at the server side (looks like a bug in CPU):
4003CC: got SIGSEGV signal (Segmentation violation)


GDB also shows accessible memory region at 0x600ff8:

[centos@xxxx ~]$ gdb ./test_vmp
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <> The GNU General Public License v3.0 - GNU Project - Free Software Foundation> >
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “x86_64-redhat-linux-gnu”.
For bug reporting instructions, please see:
<> Bugs in GDB> >…
Reading symbols from /home/centos/test_vmp…(no debugging symbols found)…done .
(gdb) r
Starting program: /home/centos/./test_vmp

Program received signal SIGSEGV, Segmentation fault.
0x00000000004003cc in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-222.el7.x86_64 li bgcc-4.8.5-28.el7_5.1.x86_64
(gdb) x/i 0x4003cc
=> 0x4003cc: mov 0x200c25(%rip),%rax # 0x600ff8
(gdb) x/g 0x600ff8
0x600ff8: 0

But, ./test can run without error.

[centos@ip-172-31-2-223 ~]$ ./test
This is a test.
Test done.

test and test_vmp are the same program. The only difference is that test_vmp is protected by VMProtect.
If this is the BUG of CPU, test should not run. This is obviously the BUG of VMProtect. VMProtect is not compatible with this CPU.
Please help solve it, Thank you!

Did you try test_vmp on other computers?

I tried a lot of machines, test_vmp can work properly, except for some machines.
Please login to the following server, test_vmp can run normally, you can compare and debug it.

ssh -i for_vmprotect.pem centos@34.245.219.91
/home/centos/test_vmp