Détecter softice

Description

Voici une unité avec son exemple
pour détecter le debuggeur SoftIce

Softice est un débuggeur (pour detecter les bugs d'une application.
Il permet d'executer une application (plus précisement Windows) pas à pas.

Cela permet de savoir précisément où l'erreur existe.

Il permet aussi de voir le contenue de la mémoire et des registres à un moment d'arret.

SoftIce n'est pas à mettre entre toutes les mains.
Novice s'abstenir.

Source / Exemple :


Function IsSoftIceLoaded :Boolean;
 var hFile: Thandle;
  begin
    result := false;

// --- Pour SoftIce95 ---
   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;

  if result = true then exit;   // Si SoftIce95 est chargé, on ne continue pas la détection

// --- Pour SoftIceNT ---
   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;

Conclusion :


http://delphicool.developpez.com

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.