找回密码
 注册

QQ登录

只需一步,快速开始

测试Ice是否运行

[复制链接]
发表于 2008-9-28 16:35:31 | 显示全部楼层 |阅读模式
<P class=MsoNormal><SPAN lang=EN-US>unit StopIce; <BR><BR>{ <B><SPAN style="BACKGROUND: #ffff66; COLOR: black">Anti</SPAN></B> debug unit. Detect SoftIce and shutdown Windows. <BR><BR>Freware with source. <BR><BR>Copyright (c) 1998 Soft House Labs, Andre N Belokon <BR>Web http://softlab.od.ua/ <BR>Email support@softlab.od.ua <BR><BR>THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED <BR>"AS IS" AND WITHOUT WARR<B><SPAN style="BACKGROUND: #ffff66; COLOR: black">ANTI</SPAN></B>ES AS TO PERFORMANCE OF MERCHANTABILITY OR <BR>ANY OTHER WARR<B><SPAN style="BACKGROUND: #ffff66; COLOR: black">ANTI</SPAN></B>ES WHETHER EXPRESSED OR IMPLIED. <BR>NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. <BR>THE USER MUST ASSUME THE ENTIRE RISK OF USING THE ACCOMPANYING CODE. <BR>} <BR><BR>interface <BR><BR>implementation <BR><BR>uses Windows; <BR><BR>Function IsSoftIce95Loaded: boolean; <BR>Var hFile: Thandle; <BR>Begin <BR>result := false; <BR>hFile := CreateFileA('\\.\SICE', GENERIC_READ or GENERIC_WRITE, <BR>FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, <BR>FILE_ATTRIBUTE_NORMAL, 0); <BR>if( hFile &lt;&gt; INVALID_HANDLE_VALUE ) then begin <BR>CloseHandle(hFile); <BR>result := TRUE; <BR>end; <BR>End; <BR><BR>Function IsSoftIceNTLoaded: boolean; <BR>Var hFile: Thandle; <BR>Begin <BR>result := false; <BR>hFile := CreateFileA('\\.\NTICE', GENERIC_READ or GENERIC_WRITE, <BR>FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, <BR>FILE_ATTRIBUTE_NORMAL, 0); <BR>if( hFile &lt;&gt; INVALID_HANDLE_VALUE ) then begin <BR>CloseHandle(hFile); <BR>result := TRUE; <BR>end; <BR>End; <BR><BR>function WinExit(flags: integer): boolean; <BR>function SetPrivilege(privilegeName: string; enable: boolean): boolean; <BR>var tpPrev, <BR>tp : TTokenPrivileges; <BR>token : THandle; <BR>dwRetLen : DWord; <BR>begin <BR>result := False; <BR>OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, token); <BR>tp.PrivilegeCount := 1; <BR>if LookupPrivilegeValue(nil, pchar(privilegeName), tp.Privileges[0].LUID) then <BR>begin <BR>if enable then <BR>tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED <BR>else <BR>tp.Privileges[0].Attributes := 0; <BR>dwRetLen := 0; <BR>result := AdjustTokenPrivileges(token, False, tp, SizeOf(tpPrev), tpPrev, dwRetLen); <BR>end; <BR>CloseHandle(token); <BR>end; <BR>begin <BR>if SetPrivilege('SeShutdownPrivilege', true) then begin <BR>ExitWindowsEx(flags, 0); <BR>SetPrivilege('SeShutdownPrivilege', False) <BR>end; <BR>end; <BR><BR>initialization <BR>if IsSoftIce95Loaded or IsSoftIceNTLoaded then begin <BR>WinExit(EWX_SHUTDOWN or EWX_FORCE); <BR>Halt; <BR>end; <BR>end.</SPAN></P>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|本地广告联系: QQ:905790666 TEL:13176190456|Archiver|手机版|小黑屋|汶上信息港 ( 鲁ICP备19052200号-1 )

GMT+8, 2025-4-15 08:22

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表