Известно по меньшей мере три пути обнаружения VM-Ware, которые используют многие программы(webmoney) и вири (которые отказываются работать под виртуалкой) Во-первых, по оборудованию. Виртуальные машины несут на своем борту довольно волшебный набор железа, практически не встречающийся в "живой природе": а) видеокарта VMware Inc [VMware SVGA II] PCI Display Adapter; б) сетевая карта: Advanced Micro Devices [AMD] 79c970 [PCnet 32 LANCE] (rev 10); в) жесткие диски: VMware Virtual IDE Hard Drive и VMware SCSI Controller. Опросив конфигурацию оборудования, вирь или прога сразу поймет где он. Во-вторых, виртуальные сетевые карты имеют довольно предсказуемый диапазон MAC-адресов, а именно: 00-05-69-xx-xx-xx, 00-0C-29-xx-xx-xx и 00-50-56-xx-xx-xx. В-третьих, VM-Ware имеет коварный backdoor, оставленный разработчиками для служебных целей и управляемый через порт 5658h, при этом в регистре EAX должно содержатся "магическое" число 564D5868h. Следующие инструкции используются для вызова функций управления: MOV EAX, 564D5868h ; Magic Number MOV EBX, COMMAND_SPECIFIC_PARAMETER MOV ECX, BACKDOOR_COMMAND_NUMBER MOV DX, 5658h ; Port Number IN EAX, DX Вначале в регистр EAX помещается “магическое” число, которое используется для аутентификации команд. В регистре EBX хранятся параметры команд. Сами команды загружаются в ECX. В следующей таблице дан краткий обзор некоторых команд: Номер команды Описание 00h..03h ? 04h Получить текущее положение курсора 05h Установить текущее положение курсора 06h Получить объем данных в буфере обмена хоста 07h Прочитать данные из буфера обмена хоста 08h Установить объем данных, отсылаемый в буфер обмена хоста 09h Отправить данные в буфер обмена хоста 0Ah Получить версию VMware 0Bh Получить информацию об устройстве Всего поддерживается как минимум 15 команд. В регистре DX содержится номер порта ввода/вывода и с помощью инструкции IN команда исполняется. Ясно, что с помощью VMware I/O backdoor можно вмешиваться в работу запущенного VMware. (взято из статей 1, 2 ) Народ у кого есть патч ? кто может скомпелить http://honeynet.rstack.org/tools/vmpatch.c
Сразу подумал что статьи стырены. : ) Пока не прочел дату и автора... Патч требует библиотеку unistd.h - нашел сдесь: http://linux.die.net/include/unistd.h она требует FEATURES.H та в свою очередь LETYPES.H далее такая строчка #include "unicode/utypes.h" Это значит файл "utypes.h" в кодировке unicode? А.. в директории.. пока работаю над компиляцией... А вида поддерживает POSIX ?
Это чего значит? Code: ... #include "utypes.h" U_NAMESPACE_BEGIN /** .... Компилятор ругается на вторую строку Если закомметнтировать то точно также ругается на имеенно на U_COMMON_API Помогите плиз - самому тоже было бы неплохо иметь скомпиленый этот патч.. Может нужен и компилятор который поддерживает POSIX? GCC? А то я пробовал под borland turbo c : ) (не спрашивайте зачем он мне нужен : )