Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Определить, загружен ли SoftIce

Delphi , Программа и Интерфейс , Исследование программ

Определить, загружен ли SoftIce

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

//SoftIce in W9x OS 

function IsSoftIce95Loaded: Boolean;
 var
   hFile: THandle;
 begin
   Result := False;
   hFile  := CreateFileA('\.SICE', GENERIC_READ or GENERIC_WRITE,
     FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
     FILE_ATTRIBUTE_NORMAL, 0);
   if (hFile <> INVALID_HANDLE_VALUE) then
    begin
     CloseHandle(hFile);
     Result := True;
   end;
 end;



 // SoftIce in NT/2000 OS 
function IsSoftIceNTLoaded: Boolean;
 var
   hFile: THandle;
 begin
   Result := False;
   hFile  := CreateFileA('\.NTICE', GENERIC_READ or GENERIC_WRITE,
     FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
     FILE_ATTRIBUTE_NORMAL, 0);
   if (hFile <> INVALID_HANDLE_VALUE) then
    begin
     CloseHandle(hFile);
     Result := True;
   end;
 end;




 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if IsSoftIce95Loaded or IsSoftIceNTLoaded then
   begin
     //Do something if Softice is loaded 
  end;
 end;

Программный код, предназначенный для проверки запуска инструментария отладки SoftIce на операционных системах Windows 9x (W9x) или NT/2000.

Функция IsSoftIce95Loaded проверяет наличие файла .SICE в корневом каталоге, который обычно используется SoftIce на OS W9x. Если файл существует и может быть открыт для чтения и записи, функция возвращает True, что указывает на то, что SoftIce вероятно запущен.

Функция IsSoftIceNTLoaded проверяет наличие файла .NTICE в корневом каталоге, который обычно используется SoftIce на OS NT/2000. Если файл существует и может быть открыт для чтения и записи, функция возвращает True, что указывает на то, что SoftIce вероятно запущен.

Процедура Button1Click - это обработчик события клика кнопки. Когда кнопка кликается, она вызывает оба функции IsSoftIce95Loaded и IsSoftIceNTLoaded, чтобы проверить, запущен ли SoftIce на каком-либо из OS. Если любая из функций возвращает True, она выполняет некоторые код (который не указан в этом фрагменте).

Альтернативное решение с использованием более современного подхода:

function IsSoftIceLoaded: Boolean;
var
  hFile: THandle;
begin
  Result := False;

  // Используем Windows API для проверки наличия файла SoftIce
  hFile := CreateFileW(PWideChar('\.SICE'), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then
  begin
    CloseHandle(hFile);
    Result := True;
  end;

  // Альтернативно, можно использовать Windows API для проверки регистрационного ключа SoftIce,
  // если это более надежный индикатор его наличия.
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsSoftIceLoaded then
  begin
    // Выполнить что-то, если SoftIce запущен
  end;
end;

В этом коде используются Windows API для создания handles файла .SICE и проверки его наличия. Если файл существует, то handle закрывается и возвращается True. Этот подход более платформо-независимый, чем проверка конкретных версий OS.

Кроме того, можно использовать Windows API для проверки регистрационного ключа SoftIce, который может быть более надежным индикатором его наличия.

Данная статья описывает функции, позволяющие определить, загружен ли SoftIce в системе Windows 9x или NT/2K, а также предлагает пример использования этих функций в Delphi-приложении.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Исследование программ ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 01:46:04/0.0052821636199951/1