Jump to content

СофтICE

СофтICE
Оригинальный автор(ы) Номега
Разработчик(и) Компьютерное программное обеспечение
Первоначальный выпуск 1987 год ; 37 лет назад ( 1987 ) (DOS)
Финальный выпуск
v4.05 / 2000 ; 24 года назад ( 2000 ) [1]
Операционная система Microsoft Windows
Тип Отладчик
Лицензия Собственный

SoftICE режима ядра отладчик для DOS и Windows вплоть до Windows XP . Он предназначен для работы под Windows, поэтому операционная система не знает о его присутствии. В отличие от отладчика приложений, SoftICE способен приостанавливать все операции в Windows по соответствующему указанию. Благодаря своим низкоуровневым возможностям SoftICE также популярен как инструмент для взлома программного обеспечения .

Microsoft предлагает два отладчика режима ядра, WinDbg и KD, бесплатно. Однако полные возможности WinDbg и KD доступны только при использовании двух взаимосвязанных компьютеров. Таким образом, SoftICE является исключительно полезным инструментом для сложной разработки, связанной с драйверами. Последняя выпущенная версия была для Windows XP.

Существуют более старые версии для DOS и совместимых операционных систем. Первоначально SoftICE был произведен компанией NuMega и впоследствии был приобретен Compuware в 1997 году, которая, в свою очередь, продала собственность Micro Focus в 2009 году. В настоящее время Micro Focus владеет исходным кодом и патентами, но не занимается активной поддержкой SoftICE.

«Soft» относится к программному обеспечению, а «ICE» — это намек на внутрисхемный эмулятор .

Оригинальный SoftICE для DOS был написан в 1987 году основателями NuMega Фрэнком Гроссманом и Джимом Москуном. Программа, написанная на 80386 языке ассемблера , играла роль операционной системы и запускала программное обеспечение в виртуальном режиме 8086 . Он был продан за 386 долларов.

SoftICE/W (для Windows) был разработан в 1990-х годах и сыграл важную роль в написании «Недокументированной Windows» Эндрю Шульманом, Дэвидом Макси и Мэттом Питреком . SoftICE/W был создан на основе более раннего, менее известного продукта SoftICE для NetWare (32-битный защищенный режим ). Одним из ключевых преимуществ, которые он имел по сравнению с отладчиками Microsoft, было то, что он позволял отладку на одной машине, а не требовал подключения второй машины через последовательный порт.

Основными разработчиками SoftICE были Дом Базиле («Мистер SoftICE»), Том Гюнтер (Kitchen Sink, Symbol Engine), Джеральд Рикман (Видеодрайверы и Kitchen Sink ), Рэй Сюй (Видеодрайверы для Windows 95 ) и Дэн Бэбкок (Видеодрайверы для Windows 95). SoftICE/NT 3.1/3.5: универсальный видеодрайвер, символьный движок), при участии различных разработчиков NuMega, включая Фрэнка Гроссмана, Джима Москуна и Мэтта Питрека.

В 1998 году база кодовая SoftICE/95 была портирована для работы на платформе Windows NT .

Новые версии SoftICE вносят глубокие исправления в Microsoft Windows. Таким образом, старые версии SoftICE редко совместимы с новыми версиями Windows. Поэтому Compuware предложила SoftICE в качестве подписки, чтобы его можно было поддерживать в актуальном состоянии и синхронизировать с последней версией Microsoft Windows.

SoftICE ранее предлагался как часть пакета Compuware DriverStudio, но его поддержка была прекращена в апреле 2006 года.

Прекращение действия

[ редактировать ]

По состоянию на 3 апреля 2006 г. производство семейства продуктов DriverStudio было прекращено из-за «множества технических и деловых проблем, а также общих рыночных условий». Техническая поддержка предлагалась до 31 марта 2007 г.

Меры против SoftICE

[ редактировать ]

Поставщики программного обеспечения внедрили широкий спектр контрмер, чтобы защитить себя от людей, использующих SoftICE в качестве инструмента для анализа программного обеспечения.

Например, вот код, который некоторые поставщики используют для обнаружения присутствия SoftICE, работающего на той же машине, в качестве ранней контрмеры:

 mov eax, dword ptr [pIDT+2]; eax -> IDT
 add eax, 8                 ; eax -> int 1 vector
 mov ebx, [eax]             ; ebx == int 1 vector
 add eax, 16                ; eax -> int 3 vector
 mov eax, [eax]             ; eax == int 3 vector
 and eax, 0FFFFh            ; strip the selector
 and ebx, 0FFFFh            ; part of it
 sub eax, ebx               ; find displacement
 cmp eax, 10h
jne  HackedVector           ; not equal, then chances are
                            ; SoftICE had tampered with these vectors

С тех пор такие меры стали развиваться все лучше и лучше. Хотя большинство из них могут сдерживать только менее опытных и решительных хакеров, SoftICE больше не является предпочтительным инструментом для новичков в анализе программного обеспечения.

Современные методы программного антианализа основаны на более сложных упаковщиках/защитниках, например Themida, Armadillo или ASProtect, которые упаковывают программный код и изменяют адреса точек входа, поэтому трудно найти исходную точку входа программы ( OEP ). программы Это также верно для таблицы адресов импорта (IAT). Однако также доступны инструменты для сокрытия SoftICE, такие как IceStealth и IceExt для Windows NT или Icedump и IcePatch для Windows 9x . [2]

В 1989 году компания BYTE включила Soft-ICE в число победителей премии BYTE Awards «За выдающиеся достижения», заявив, что «если вы разрабатываете приложения на базе 8086 на машине 80386, это важный и доступный инструмент». [3]

Альтернативы

[ редактировать ]

Коммерческий отладчик уровня ядра под названием Syser утверждает, что продолжает работу с того места, где остановился SoftICE.

Условно -бесплатный , но бесплатный отладчик OllyDbg — это 32-битный отладчик уровня ассемблера от Олега Ющука. Однако его можно использовать только для отладки в пользовательском режиме.

отладчик ядра с открытым исходным кодом, аналогичный SoftICE, под названием Rasta Ring 0 Debugger (RR0D). Доступен [4] [5] Он обеспечивает низкоуровневую отладку для Microsoft Windows , Linux , OpenBSD , NetBSD и FreeBSD . Этот проект, похоже, не поддерживается активно. По состоянию на июнь 2016 г. , последнее изменение в GitHub репозитории исходного кода произошло в декабре 2008 года. [6]

Отладчик под названием BugChecker — это 32-разрядный однохостовый отладчик ядра для Windows 2000 и XP, разработанный и доступный как открытый исходный код для образовательных целей. BugChecker позволяет пользователям отслеживать как пользовательский код, так и код ядра как в однопроцессорных, так и в многопроцессорных версиях Windows 2000 и XP. [7]

Современный преемник SoftICE под названием BugChecker (не имеющий отношения к упомянутому выше) был выпущен Вито Плантамурой в 2023 году. В отличие от других локальных отладчиков ядра, он поддерживает как 32-битные, так и 64-битные версии от Windows XP до Windows 11. Для этого отладчик имитирует машину как отлаживаемую второй системой, перехватывая последовательную кабельную связь, а затем отображает ее изображение непосредственно в кадровом буфере . Этот метод значительно улучшает стабильность и совместимость по сравнению с предыдущими подходами, включая сам SoftICE. [8]

Многие гипервизоры позволяют отлаживать ядро, работающее на виртуальной машине , предоставляя некоторый интерфейс отладчика, который может напрямую управлять виртуализированным процессором. Это позволяет выполнять отладку, даже если ядро ​​не имеет встроенных средств отладки.

  1. ^ «Примечания к выпуску NuMega SoftICE 4.05» . Архивировано из оригинала 01 января 2018 г. Проверено 4 июня 2012 г.
  2. ^ «Категория: Расширения SoftICE — Совместная библиотека инструментов RCE» . Вудманн.com. Архивировано из оригинала 31 июля 2014 г. Проверено 24 апреля 2014 г.
  3. ^ «Награды BYTE» . БАЙТ . Январь 1989 г. с. 327.
  4. ^ «RR0D/Презентация» . Wiki.droids-corp.org. Архивировано из оригинала 24 апреля 2014 г. Проверено 24 апреля 2014 г.
  5. ^ «Отладчик Rasta Ring 0 (RR0D) — совместная библиотека инструментов RCE» . Вудманн.com. 18 октября 2007 г. Архивировано из оригинала 4 марта 2016 г. Проверено 24 апреля 2014 г.
  6. ^ Джо. "ice799/rr0d" . Гитхаб.com. Архивировано из оригинала 22 декабря 2018 г. Проверено 5 июня 2016 г.
  7. ^ «Багчекер» . БагЧекер. Архивировано из оригинала 29 октября 2011 г. Проверено 24 апреля 2014 г.
  8. ^ «Багчекер» . Гитхаб.com . Проверено 28 апреля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 567c98ed5f583e8550cc3d8d63e6cad9__1718413500
URL1:https://arc.ask3.ru/arc/aa/56/d9/567c98ed5f583e8550cc3d8d63e6cad9.html
Заголовок, (Title) документа по адресу, URL1:
SoftICE - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)