Подскажите насколько полно поддерживают существующие эмуляторы работу в Unreal mode. Можно ли анриал юзать для детекта ВМ? Эмуляторов сейчас как грязи, поэтому все их тестить самому как то влом
Как выяснилось, нифига не поддерживают. По крайней мере не на 100%. Bochs, VmWare, VirtualPC и Qemu спалились. Версии правда были не самые свежие, однако нет никаких оснований думать, что в новых релизах эти баги пофиксили.
Накидал тестовую прожку. Стартует из реалмода, ну или его эмуляции ВМ Выводит надпись "native mode" либо "vm detected". Все эмуляторы (см.выше) обломались. Подробности смотри внутри, там кода то почти нет. Мля, аттач не цепляется
160 байт чистого кода можно было и исходником, открытым текстом. Как-нибудь скомпилируем, а смотреть на код все равно будем, нечего стесняться.
Херня какая-то, исходный файл 234 байта, сохраненный из аттача -222 Исходника с собой нет, по новой набивать влом Хых, осел нормально сохраняет, это глюки мозиллы были. Пасс правильный, только кавычки не нужны
У меня Unreal Mode нормально работает на На VirtualPC не тестировал. Возможно у вас в коде ошибка. Посмотрел код. Както странно вы загружаете сегменты данных через Code (Text): mov eax,cr0 inc eax mov cr0,eax xor bx,bx mov ds,bx // И тут ошибка. dec eax mov cr0,eax push cs pop ds // Регистр сброшен обратно
Это не баг, это фича А насчет push cs, pop ds - когда то давно почему то писАли именно так. А я писал на полуавтомате в 3 ночи, после 800 гр водки с коньяком, видимо руки лучше знали что делать и как )))
Medstrax А понял что нетак. LGDT отсутстыует. Поэтому нуливой дескриптор черти где находится. На реальной машине там биос загружает свои GDT. А на эмуляторе не знаю.