; ; release date: 22/1/97 ; ; ; this is something lame for you to play with... ; ; ; ; ; * Code ripped from loader32.exe ;-) ; ; ; To Compile: ; TASM32 /ml /m3 wice-dw,,; ; TLINK32 /Tpe /aa /c wice-dw,wice-dw,, import32.lib ; ; ; BTW: *MY* WinICE can not be detected using the following method. ; ; ; .386P Locals jumps .Model Flat ,StdCall ;Define the needed external functions and constants here. Extrn ExitProcess:PROC Extrn MessageBoxA:PROC Extrn CreateFileA:PROC .Data Title1 db 'FUCK !',0 Message1 db 0dh,0ah,' WinICE for Win95 / NT not detected ! ',0dh,0ah,0 DetectedTitle db ' WinICE is loaded ! ',0 WI_Detected db 'Debugger type: SoftICE for Win95',0 NTI_Detected db 'Debugger type: SoftICE-NT',0 WinICE_Handle db '\\.\SICE',0 NTICE_Handle db '\\.\NTICE',0 .Code ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Main: Push 0 Push 80h Push 3 Push 0 Push 3 Push 80000000h Push offset WinICE_Handle Call CreateFileA Cmp EAX, 0FFFFFFFFh Mov EDI, EAX JNE WinICE_Detected Push 0 Push 3 Push 80000000h Push offset NTICE_Handle Call CreateFileA Cmp EAX, 0FFFFFFFFh Mov EDI, EAX JNE NTICE_Detected Push 0 Push offset Title1 Push offset Message1 Push 0 Call MessageBoxA Jmp Exit_Proc WinICE_Detected: Push 0 Push offset DetectedTitle Push offset WI_Detected Push 0 Call MessageBoxA Jmp Exit_Proc NTICE_Detected: Push 0 Push offset DetectedTitle Push offset NTI_Detected Push 0 Call MessageBoxA Exit_Proc: Push LARGE-1 Call ExitProcess ;ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ End Main