Обнаружение SoftICE путем вызова INT 68h

  

Вот способ обнаружения присутствия SoftICE в памяти, призывая INT содержать значение 43h перед вызовом INT быть в регистр AX. 68 ч. В регистре AH должно 68h. Если SoftICE активен в памяти, возвращение стоимости 0F386h будет

Это хорошо известный метод обнаружения SoftICE, что является безопасным и широко используются, но только в Windows 9x. Вы можете увидеть ее в действии, например, в SafeDisc:

 .386 
  . МОДЕЛЬ FLAT, STDCALL местные 
  прыжки 
  UNICODE = 0 
  включить w32.inc 
  Extrn SetUnhandledExceptionFilter: PROC. Данных message3 message2 delayESP предыдущих. Код БД "Обнаружение по телефону INT 68h", 0 дБ "SoftICE найден", 0 дБ "SoftICE не найден", 0 дд 0 
  ; в ESP регистре экономит здесь дд 0; в регистр ESP будет сохранен адрес из; предыдущие SEH службы здесь 
  Начало: 
  ;------------------------------------------------- ------------------------------------------------; Наборы SEH в случае ошибки 
  ;------------------------------------------------- ------------------------------------------------ 
  mov [delayESP], особенно 
  нажимаем компенсировать ошибки 
  слово SetUnhandledExceptionFilter 
  mov [предыдущая], eax 
  ;------------------------------------------------- ------------------------------------------------ 
  
  ; Новый адрес Структурированная обработка исключений (SEH) установлена здесь, чтобы в случае возникновения; ошибка, программа будет продолжаться от ошибку ярлык и закончится правильно.  Это важно; Если, например, программа Вызвал прерывать, что будет выполняться правильно, только если SoftICE; Активен, но вызовет ошибку и аварийному завершению программы, если SoftICE не активен.  Наконец,; Предыдущий SEH службы адрес сохранены. 
  ;------------------------------------------------- ------------------------------------------------ АХ, 43 ч int 68h нажимаем eax; сервисный номер; называет INT 68h прерывание; сохраняет Возвращаемое значение 
  
  ;------------------------------------------------- ------------------------------------------------; Наборы предыдущие SEH службы ;---------------------------------------------- -------------------------------------------------- - нажать dword ptr [предыдущая] 
  слово SetUnhandledExceptionFilter 
  ;------------------------------------------------- ------------------------------------------------; Наборы подлинные SEH службы адрес 
  ;------------------------------------------------- ------------------------------------------------ 
  поп eax; восстанавливает Возвращаемое значение cmp ax, 0f386h; испытаний ли возвращение стоимость 
  ; "магический номер" 
  ;------------------------------------------------- ------------------------------------------------; если SoftICE активен в памяти, возвращение стоимости будет F386h в регистр AX.  ;------------------------------------------------- ------------------------------------------------ 
  jz скачок; если да, программа прыжков, поскольку SoftICE является 
  ; в памяти активных 
  далее: 
  слово MessageBoxA, 0, компенсируется message2, \ компенсируется message1, 0 
  ; если вернуться стоимость помимо F386h,; SoftICE не было найдено, и сообщение об ошибке; будет отображаться. 
  слово ExitProcess, -1; конец программы 
  перейти: 
  слово MessageBoxA, 0, компенсируется message3, \ компенсируется message1, 0 
  ; печатает сообщение о том, что SoftICE не было обнаружено.  Любая; Код может следовать из этой точки. 
  слово ExitProcess, -1 
  ; заканчивается программа ошибка:; начинается новый SEH услуг в случае ошибки.  mov особенно, [delayESP] 
  далее нажимаем компенсируется ret 
  ; в случае ошибки в программе, SEH; гарантирует, что программа продолжит с; Ошибка ярлыка. 
  заканчивается 
  Начало конца 
  ; конец программы 
это статья добавлена Сам Петроне
Опровержение: Наш сайт не несет ответственности за информацию, содержащуюся в этой статье. Эта статья никоим образом не отражает взгляды, мнения, мысли или веры каталог статей сотрудников.

Перевод уведомления: В статье "Обнаружение SoftICE путем вызова INT 68h" был переведен с использованием автоматизированной службы перевода. Мы приносим извинения за любые ошибки перевода, что произошло. Спасибо за понимание.

Online: 821 users browsing the articles directory