SoftICE

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
SoftICE
Compuware si.jpg
Отладка драйвера
Тип

отладчик уровня ядра

Разработчик

NuMega, Compuware

Операционная система

Windows

Последняя версия

4.2.7

Лицензия

Собственническое ПО

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

SoftICE был первоначально разработан компанией NuMega, которая включала его в пакет программ для быстрой разработки высокопроизводительных драйверов под названием «Driver Studio», который впоследствии был приобретён Compuware.

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

Часть названия «ICE» является намёком на аббревиатуру от in-circuit emulator.

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

История[править | править вики-текст]

Оригинальный SoftICE for DOS был написан на 80386 ассемблере для операционной системы DOS в 1987 году основателями NuMega Франком Гроссманом (en:Frank Grossman) и Джимом Москуном (en:Jim Moskun). Программа выполняла роль операционной системы, управляла программным обеспечением в режиме виртуального 8086 процессора и продавалась за $386.

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

NuMega выпускала SoftIce в составе пакета для разработки драйверов, который назывался «NuMega DriverStudio».

Основными разработчиками SoftICE были Дом Бэзил (en:Dom Basile, 'Mr. SoftICE'), Том Гьюнтер (en:Tom Guinther, en:Kitchen Sink, символьный движок), Джеральд Райкман (en:Gerald Ryckman, видео драйвер и en:Kitchen Sink), Рей Цю (Ray Hsu, видео драйвер для Windows 95) и Ден Бебкок (en:Dan Babcock, SoftICE/NT 3.1/3.5: универсальный видео драйвер, символьный движок), а также несколько разработчиков NuMega, включая Френка Гроссмана (en:Frank Grossman), Джима Москана (en:Jim Moskun) и Метта Питрека (en:Matt Pietrek).

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

В 1997 году компания en:Compuware поглотила NuMega и переименовала пакет в «Compuware DriverStudio».

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

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

Последняя версия «Compuware DriverStudio» была выпущена для ОС Windows XP.

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

Примечания[править | править вики-текст]

  1. Существуют также старые версии SoftICE для DOS-совместимых систем.
  2. "Undocumented Windows" на amazom.com: http://www.amazon.com/Undocumented-Windows-Programmers-Microsoft-Programming/dp/0201608340
  3. Announcement on Matt Pietrek's blog: http://blogs.msdn.com/matt_pietrek/archive/2007/06/11/r-i-p-numega-lab.aspx

Ссылки[править | править вики-текст]

См. также[править | править вики-текст]