检测Win2000/XP下的SoftIce

Function   ABC38:Boolean;//检测Win2000/XP下的SoftIce  
  var  
      mark:Integer;  
      YesInt,NoInt:Integer;  
  begin  
      YesInt:=0;NoInt:=0;  
      mark:=0;  
      asm  
          push   offset   @handler  
          push   dword   ptr   fs:[0]  
          mov     dword   ptr   fs:[0],esp  
          xor     eax,eax  
          int   1  
          inc     eax  
          inc     eax  
          pop     dword   ptr   fs:[0]  
          add   esp,4  
          or       eax,eax  
          jz       @found  
          cmp   mark,   0  
          jnz       @found  
          jmp     @Nofound  
          @handler:  
              mov   ebx,[esp+0ch]  
              add   dword   ptr   [ebx+0b8h],02h  
              mov   ebx,[esp+4]  
              cmp   [ebx],   80000004h  
              jz   @Table  
              inc   mark  
          @Table:  
              xor   eax,eax  
            ret  
          @found:  
              mov   YesInt,1  
          @Nofound:  
              mov   NoInt,1  
      end;  
      if   Yesint=1   then  
          Result:=True;  
      if   NoInt=1   then  
          Result:=False;  
  end;   
   

Posted in 软件开发 by 傻猫 at January 22, 2007.
Tags: none

添加新评论