Проблема с виртуализацией BT m16, r16

Issues related to VMProtect
lazybit
Posts: 24
Joined: Thu Feb 11, 2010 12:40 pm

Проблема с виртуализацией BT m16, r16

Postby lazybit » Mon Feb 11, 2019 9:40 am

Функции выдают разные результаты после защиты func_vmp.

Code: Select all

#include <stdio.h>
int bit = 0x80000;
unsigned char bits[0x80000/8 + 1] = { 0 };

bool func_vmp() {
   unsigned char r;
   __asm {
      mov ecx,[bit]
      bt word ptr [bits], cx
      setc [r]
   }
   return r;
}
bool func() {
   unsigned char r;
   __asm {
      mov ecx,[bit]
      bt word ptr [bits], cx
      setc [r]
   }
   return r;
}
int main() {
   bits[0x80000/8] = 0xFF;
   printf("%d\r\n", func_vmp());
   printf("%d\r\n", func());
   return 0;
}

Admin
Site Admin
Posts: 1584
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Проблема с виртуализацией BT m16, r16

Postby Admin » Tue Feb 26, 2019 12:47 pm

Спасибо, исправлено.