网站首页/技术开发列表/内容

亲手打造一个QQ恶作剧程序

技术开发2022-07-20阅读

  安全警示 仅供娱乐参考,不承担该程序使用的相应后果和责任

  时间:2002年11月26日

  Author:Inetufo
  Email:Inetufo@thugx.com
  Homepagehttp://www.thugx.com
  Date:3-8-2003

  本文将一步一步教你如何编写一个QQ恶作剧程序,转载请注明出处:

  程序原理:获取系统中的所有进程,并保存在一个数组中,然后在数组中查找含有QQ,oicq,qq,OICQ字样的进程,如果找到就立即杀掉该进程.这样你一运行QQ,QQ进程就会被立即杀掉,也就是说如果该恶作剧程序一直运行你就不能上QQ了。呵呵,这招是不是有点毒啊?好了,现在一步一步的来讲程序的编写过程。

  首先我们要解决的问题是如何实现恶作剧程序的自我隐藏,关于进程隐藏的文章很多,我就只简单的介绍一下了。在Win9X系统下可以通过调用RegisterServiceProcess API这个API函数将进程注册为一个服务模式的进程,这样在Win9X系统下用Ctrl+Alt+Del调出的任务管理器中将不会出现这个进程了。RegisterServiceProcess API函数存放于系统内核Kernel32.dll中.具体声明如下:


  DWORD RegisterServiceProcess(
  DWORD dwProcessId, //服务进程的进程标志,如果为NULL表示当前进程
  DWORD dwType //如果参数为RSP_SIMPLE_SERVICE 表示注册当前进程
  //如果参数为RSP_UNREGISTER_SERVICE 表示取消当前进程的注册
  );

  函数调用成功返回1,否则返回0

  通过对RegisterServiceProcess 这个API函数的调用我们就能实现在Win9X系统下的进程隐藏了。但是要在WinNT系统下真正的实现进程隐藏就没有在Win9X系统下那么简单了。只要进程以进程内核的形式运行,进程就将出现在任务管理器中.要实现WinNT下进程的真正隐藏,只能以非进程的方式执行目标代码,也就是说把目标代码以线程的方式远程注册到宿主进程中.关于这种方法的实现已经有文章介绍,在这里就不多说了。在这里,我并没有采用这种隐藏进程的方法而是将进程注册为系统的一个名为Service的服务进程,虽然这样并没有真正的隐藏进程,但是在一般情况下还是不容易发现的。在Win2000下用任务管理器查看进程时是不能结束该进程的,必须通过控制面板中的服务管理控制台来停止服务,也可以在命令行下用net stop service来停止服务在XP下可以通过任务管理器结束该进程。这里简单介绍一下WinNT中的服务程序:

……

相关阅读