设为首页 加入收藏

TOP

DELPHI实现关闭指定进程,自身防杀
2014-01-14 21:35:03 来源:互联网 作者: 【 】 浏览:435次 评论:0

偶然翻到很久以前用DELPHI写的一个小程序,实现功能是在后台默默关闭符合条件的进程,并隐藏自身。编写目的是为了防止办公电脑运行游戏。

实现原理是:

1、程序运行后将自身以不同的名称一式三份存到系统各目录中,将其中一个COPY写到注册表里开机自启动,然后修改注册表中txt文件和exe文件打开方式分别指向另两个COPY,达到监控目的。

2、程序一但激活首先会确认各COPY是否存在以及注册表关联是否正常,然后再检查系统是否运行在禁止名单中的进程,发现就杀死。

3、如果程序监控到用户运行regedit则会将注册表改回正常值,当regedit退出后再将修改写回,以防用户发现。(这在杀毒软件还很落后的年代效果还是相当好的)

4、程序保留了卸载的功能,代码里有写。

自己感觉挺有意思,把代码发上来留个纪念。

 

复制代码
	  1 //为了防止一些人上班就玩游戏的恶习所编
  2 program HK;
  3 
  4 uses
  5   Windows,
  6   Messages,
  7   SysUtils,
  8   System,
  9   Classes,
 10   Registry,
 11   Forms,
 12   Controls,
 13   LoadDLL in 'LoadDLL.pas';
 14   
 15 var
 16   I:Integer;
 17   SPath,WPath:PCHAR;
 18   pa:string;
 19   hnd: THandle;
 20   sp:boolean;
 21   sFileName:String;
 22 
 23 
 24 //function RegisterServiceProcess(dwProcessId, dwServiceType: DWord): Bool; stdcall;
 25 
 26 //function RegisterServiceProcess; external 'Kernel32.dll' Name 'RegisterServiceProcess';
 27 
 28 procedure procRun(exeName,exePath:PChar;trace:boolean);
 29 var
 30   SUInfo: TStartupInfo;
 31   ProcInfo: TProcessInformation;
 32 begin
 33 FillChar(SUInfo, SizeOf(SUInfo), #0);
 34 with SUInfo do
 35   begin
 36     cb := SizeOf(SUInfo);
 37     dwFlags := STARTF_USESHOWWINDOW;
 38     wShowWindow :=1;
 39   end;
 40 if CreateProcess(NIL,exeName, NIL, NIL, FALSE,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, NIL,exePath, SUInfo, ProcInfo) then
 41   begin
 42     if trace then
 43       WaitForSingleObject(ProcInfo.hProcess, INFINITE);
 44     CloseHandle(ProcInfo.hProcess);
 45     CloseHandle(ProcInfo.hThread);
 46   end;
 47 end;
 48 
 49 procedure procSetReg(rest:boolean);
 50 var
 51    Reg:TRegistry;
 52
您看到此篇文章时的感受是:
Tags: 责任编辑:administrator
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇扩展 delphi 线程 使之传递参数. 下一篇Delphi 中的全局快捷键+给指定窗..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

广告位