Определить, что программа запущена в пространстве Virtual PCDelphi , Программа и Интерфейс , Приложение своёОпределить, что программа запущена в пространстве Virtual PC
Оформил: DeeCo { This function can be used to determine whether your program is running from within Connectrix's Virtual PC } function running_inside_vpc: boolean; assembler; asm push ebp mov ecx, offset @@exception_handler mov ebp, esp push ebx push ecx push dword ptr fs:[0] mov dword ptr fs:[0], esp mov ebx, 0 // flag mov eax, 1 // VPC function number // call VPC db 00Fh, 03Fh, 007h, 00Bh mov eax, dword ptr ss:[esp] mov dword ptr fs:[0], eax add esp, 8 test ebx, ebx setz al lea esp, dword ptr ss:[ebp-4] mov ebx, dword ptr ss:[esp] mov ebp, dword ptr ss:[esp+4] add esp, 8 jmp @@ret @@exception_handler: mov ecx, [esp+0Ch] mov dword ptr [ecx+0A4h], -1 // EBX = -1 -> not running, ebx = 0 -> running add dword ptr [ecx+0B8h], 4 // -> skip past the detection code xor eax, eax // exception is handled ret @@ret: end; Перевод контента на русский язык: Функция
Альтернативное решение заключается в использовании другого метода для определения, запущен ли программный код внутри Virtual PC, например, проверки конкретных системных свойств или регистровых ключей. Однако данный код специально разработан для работы с Connectrix' Virtual PC и ее проприетарным API. Вот некоторые потенциальные улучшения:
В статье описывается функция assembly-языка для определения запуска программы в пространстве Virtual PC (VPC) Connectrix. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Приложение своё ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |