Détectant SoftICE en appelant 68h INTERNE

  

Voici une manière de détecter la présence de SoftICE dans la mémoire en appelant INTERNE pour contenir la valeur 43h avant d'appeler INTERNE soit dans le registre de HACHE. 68h. OH le registre doit 68h. Si SoftICE est en activité dans la mémoire, la valeur de retour 0F386h

C'est une méthode bien connue de détecter SoftICE qui est sûr et généralement utilisé, mais seulement dans Windows 9x. Vous pouvez la voir dans l'action, par exemple, dans SafeDisc :

386 
MODEL PLAT, gens du pays de stdcall 
sauts 
UNICODE=0 
incluez w32.inc 
Extrn SetUnhandledExceptionFilter : 
Détection de DB précédent de code de delayESP du data 
message3 message2 de PROC "en appelant 68h" INTERNE, 0 DBS "found" de 
SoftICE, found"de SoftICE de 0 DBS" pas, 0 densités doubles 0
le registre de ;the EN PARTICULIER sauve ici le 
registre de ;the de la densité double 0 EN PARTICULIER sauvera 
l'adresse du service ;previous de SEH ici 
Début : 
; ;Sets SEH en cas d'erreur 
;
mouvements [ delayESP], en particulier
 
poussez l'erreur excentrée 
appelez SetUnhandledExceptionFilter 
mouvements [ précédents ], eax
 
;
 
la nouvelle adresse de ;The pour la manipulation 
d'exception structurée (SEH) est placée ici pour s'assurer qu'en cas
de ;error, le programme continuera d'une étiquette d'erreur et finira
correctement. C'est ;if important, par exemple, les appels de 
programme une interruption qui sera exécutée correctement seulement 
si les ;is de SoftICE actifs, mais qui causera une erreur et se brise 
le programme si SoftICE n'est pas en activité. En conclusion, 
l'adresse précédente de service du ;the SEH est sauvée. 
; oh, ;calls internes de nombre de ;service d'eax de
la poussée 43h 68h les ;saves INTERNES de l'interruption 68h la 
valeur de retour
 
; service précédent des ;Sets SEH ; 
poussez le PTR de dword [ précédent ] 
appelez SetUnhandledExceptionFilter 
; ;Sets l'adresse originale de service de 
SEH 
;
sautez les ;restores d'eax la hache de retour de CMP de 
valeur, les ;tests 0f386h pour voir si la valeur de retour est
 
;a "nombre magique" 
; le ;If SoftICE est en activité dans la 
mémoire, la valeur de retour sera F386h dans le registre de HACHE ;
le ;if de saut de jz oui, le programme saute parce que 
SoftICE est
 
;active dans la mémoire 
continuez : 
appelez MessageBoxA, 0, message2 excentré, \ message1,0 
excentré 
le ;if la valeur de retour était autre que F386h,
;SoftICE n'a pas été trouvé, et un ;will de message d'erreur soit 
montré. 
appel ExitProcess, -1 ;ends le programme
 
saut : 
appelez MessageBoxA, 0, message3 excentré, \ message1,0 
excentré 
;prints un message que SoftICE a été trouvé. 
N'importe quel ;code peut suivre de ce point. 
appel ExitProcess, -1 
;ends l'erreur de programme : ;starts un 
nouveau service de SEH en cas de mouvement des erreurs en particulier,
[ delayESP ]
 
l'excentrage de poussée continuent 
rouissent 
le ;if une erreur se produit dans le programme, 
;ensures de SEH que le programme continuera de l'étiquette de ;error. 
extrémités 
début de fin 
;end de programme 
c'est un article supplémentaire par Sam Petrone


Déni : Notre site Web n'est pas responsable de l'information contenue par cet article. Cet article reflète nullement les vues, les avis, les pensées ou la croyance du personnel d'annuaire d'articles.

Notification de traduction : L'article "détectant SoftICE en appelant 68h INTERNE" a été traduit en utilisant un service de traduction automatisé. Nous faisons des excuses sincèrement pour toutes les erreurs de traduction qui se sont produites. Merci de l'arrangement.

Online: 833 users browsing the articles directory