SoftICE durch das Benennen INTERNEN 68h ermitteln

  

Ist hier eine Weise, das Vorhandensein von SoftICE im Gedächtnis, indem sie zu ermitteln INTERN des, Wertes 43h, bevor sie zu enthalten INTERN benennt, ist im AXT-Register benennt. 68h. Das AH Register muß 68h. Wenn SoftICE im Gedächtnis aktiv ist, wird der Rückholwert 0F386h

Dieses ist eine weithin bekannte Methode des Ermittelns von von SoftICE, das sicher und allgemein verwendet ist, aber nur in Windows 9x. Sie können es in der Tätigkeit z.B. in SafeDisc sehen:

386 
MODEL FLACH, stdcall Einheimische 
Sprünge 
UNICODE=0 
schließen Sie w32.inc mit ein 
Extrn SetUnhandledExceptionFilter: PROC data 
message3 message2 delayESP vorhergehendes code DB "Abfragung durch das
Benennen von von INTERNEM 68h", 0 DB "SoftICE found", 0 DB "SoftICE 
nicht found", 0 DD 0
;the BESONDERS Register speichert hier DD0;the 
BESONDERS Register speichert die Adresse des;previous SEH Services 
hier 
Anfang: 
; ;Sets SEH falls von einer Störung 
;
Bewegungen [ delayESP], besonders
 
drücken Sie Offsetstörung 
benennen Sie SetUnhandledExceptionFilter 
Bewegungen [ vorhergehend ], eax
 
;
 
;The neue Adresse für die strukturierte 
Ausnahme-Behandlung (SEH) wird hier eingestellt, um sicherzugehen, 
daß falls von einem;error, das Programm von einem Störung Aufkleber 
fortfährt und richtig beendet. Dieses ist wichtiges;if z.B. die
Programmanrufe eine Unterbrechung, die richtig nur wenn die aktiven 
SoftICE;is durchgeführt werden, aber die eine Störung verursacht und
das Programm zerschmettert, wenn SoftICE nicht aktiv ist. 
Schließlich;the wird vorhergehende SEH Service-Adresse 
gespeichert. 
; ah, Stoß 43h interne 68h eax;service Zahl;calls 
die INTERNEN Unterbrechung 68h;saves der Rückholwert
 
; ;Sets vorhergehender SEH Service; 
drücken Sie dword PTR [ vorhergehend ] 
benennen Sie SetUnhandledExceptionFilter 
; ;Sets die ursprüngliche SEH 
Service-Adresse 
;
knallen Sie eax;restores die Rückholwert cmp Axt,;tests 
0f386h, um zu sehen, ob der Rückholwert ist
 
;a "magische Zahl" 
; ;If SoftICE ist im Gedächtnis, der 
Rückholwert ist F386h im AXT-Register aktiv;
jz Sprung;if ja, das Programm springt, weil SoftICE ist
 
;active im Gedächtnis 
fahren Sie fort: 
benennen Sie MessageBoxA, 0, Offsetmessage2, \ 
Offsetmessage1,0 
;if der Rückholwert war anders als F386h, 
wurde;SoftICE nicht gefunden, und ein Fehlermeldung;will wird 
angezeigt. 
Anruf ExitProcess, -1;ends das Programm
 
Sprung: 
benennen Sie MessageBoxA, 0, Offsetmessage3, \ 
Offsetmessage1,0 
;prints eine Anzeige, daß SoftICE gefunden wurde.
Irgendein;code kann von diesem Punkt folgen. 
Anruf ExitProcess, -1 
;ends die Programmstörung: ;starts ein 
neuer SEH Service falls von einer Störung Bewegung besonders, [ 
delayESP ]
 
Stoßversatz setzt Rückkehr fort 
;if eine Störung tritt im Programm, SEH;ensures 
auf, daß das Programm vom;error Aufkleber fortfährt. 
Enden 
Ende Anfang 
;end des Programms 
dieses ist ein Artikel, der von Sam Petrone hinzugefügt wird


Verzicht: Unsere Web site ist nicht zu der Information verantwortlich, die durch diesen Artikel enthalten wird. Dieser Artikel reflektiert keineswegs die Ansichten, die Meinungen, die Gedanken oder den Glauben des Artikelverzeichnisstabes.

Übersetzung Nachricht: Der Artikel ", der SoftICE ermittelt, indem man INTERNES 68h" benannte, wurde mit einem automatisierten Übersetzungsdienst übersetzt. Wir entschuldigen herzlichst uns für alle mögliche Übersetzung Störungen, die auftraten. Danke für das Verstehen.

Online: 845 users browsing the articles directory