Titre
Détecter SoftIce
Auteur
Source


  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.


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;

Site de l'auteur