SoftICE (SoftICE)

Перейти к навигации Перейти к поиску
SoftICE
Скриншот программы SoftICE
Отладка драйвера
Тип отладчик уровня ядра
Разработчики NuMega, Compuware
Написана на язык ассемблера
Операционная система Windows
Последняя версия 4.2.7
Лицензия Собственническое ПО

SoftICE — отладчик режима ядра для Microsoft Windows[1]. Разработана для управления процессами на низком уровне Windows, причём таким образом, чтобы операционная система не распознавала работу отладчика. В отличие от прикладного отладчика, SoftICE способен приостановить все операции в Windows, что очень важно для отладки драйверов.

Изначально разработан компанией NuMega, которая включала его в пакет программ для быстрой разработки высокопроизводительных драйверов под названием Driver Studio, который впоследствии был приобретён Compuware. Последняя версия была выпущена для Windows XP, с 2007 года продукт снят с поддержки.

Отладчик также был популярен как инструмент для взлома программного обеспечения.

Оригинальный SoftICE for DOS был написан на ассемблере для процессора 80386 для операционной системы DOS в 1987 году основателями NuMega Фрэнком Гроссманом (Frank Grossman) и Джимом Москуном (Jim Moskun). Программа выполняла роль операционной системы, управляла программным обеспечением в режиме виртуального 8086-процессора и продавалась за $386. Часть выбрана «ICE» как отсылка на аббревиатуру от in-circuit emulation[англ.].

SoftICE/W для Windows был разработан в 1990-х годах и сыграл важную роль в написании книги «Undocumented Windows»[2] Эндрю Шульмана (Andrew Schulman),Дэвида Максли (David Maxey) и Мэтта Питрека (Matt Pietrek). SoftIce/W базировался на раннем малоизвестном продукте SoftICE for Netware, работающем в защищённом режиме на 32-битных процессорах. Одним из улучшений SoftIce/W была возможность работы на одной машине (в то время для отладки с помощью средств Microsoft — WinDbg и KD — требовалось соединить две машины с помощью последовательного порта).

Основными разработчиками SoftICE были Дом Бэзил (Dom Basile, Mr. SoftICE), Том Гьюнтер (Tom Guinther), Джеральд Рикман (Gerald Ryckman, видеодрайвер), Рэй Цзю (Ray Hsu, видеодрайвер для Windows 95) и Дэн Бебкок (Dan Babcock), а также несколько разработчиков NuMega, включая Гроссмана, Москана и Питрека.

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

В 1997 году компания Compuware[англ.] поглотила NuMega и переименовала пакет в Compuware DriverStudio.

SoftIce использовала недокументированные низкоуровневые возможности Microsoft Windows, поэтому редко работала на новых версиях Windows.

Последняя версия Compuware DriverStudio была выпущена для Windows XP. С 3 апреля 2006 года продажа продуктов семейства DriverStudio была прекращена из-за «множества технических и деловых проблем, а также общего состояния рынка», поддержка завершилась 11 июля 2007 года[3].

В 2009 году Compuware продала исходный код и патенты британской компании Micro Focus, которая не поддерживает продукт «по различным техническим и коммерческим причинам».

Примечания

[править | править код]
  1. Существуют также старые версии SoftICE для DOS-совместимых систем.
  2. «Undocumented Windows» на amazon.com: https://www.amazon.com/Undocumented-Windows-Programmers-Microsoft-Programming/dp/0201608340 Архивная копия от 4 января 2019 на Wayback Machine
  3. Announcement on Matt Pietrek’s blog: http://blogs.msdn.com/matt_pietrek/archive/2007/06/11/r-i-p-numega-lab.aspx Архивная копия от 28 февраля 2010 на Wayback Machine