Page 1 of 1

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

Posted: Mon Feb 11, 2019 9:40 am
by lazybit
Функции выдают разные результаты после защиты 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;
}

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

Posted: Tue Feb 26, 2019 12:47 pm
by Admin
Спасибо, исправлено.