当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 大家知道,在NT内核的操作系统中,要做进程的隐藏要比95/98下困难得多。
 

 

    摘要: 一. 摘要 raw socket: 原始套接字 可以用它来发送和接收 ip 层以上的原始数据包, 如 icmp, tcp, udp... int sockraw = socket(af_inet, sock_raw, ipproto_raw); 这样我们就创建了一个 raw socket sniffer: 嗅探器 关于嗅探器的原理我想大多数人可能都知道 1. 把网卡置于混杂模式; 2. 捕获数据......
 ·从subsystem开始概述nt内核    »显示摘要«
    摘要: 什么是subsystem?nt架构(windows nt、windows xp、windows 2003)的初始设计是很有野心的,它希望在nt上可以不加修改地运行os2、unix程序。所以在nt中有subsystem的概念,每个subsystem针对一个平台,ntdll.dll是所有subsystem的基础。或者说ntdll.dll统一提供nt系统的api接口,subsystem为各个平台的应用......


NT/2000下进程隐藏的新思路

    大家知道,在nt内核的操作系统中,要做进程的隐藏要比95/98下困难得多.目前网上流传的一般方法不外乎几种:

    在这里我给大家提供一种新的,实际上很简单但却有效的方法,或者说思路,就是我们不像第二种方法那样欺骗系统,而只是欺骗观众:进程管理器使用一个listview32控件来显示进程,我们不妨把这个窗口子类化,接管它的行为,不让它显示我们要隐藏的进程. 【程序编程相关:用VC6.0实现超级链接

    很多做法是让程序运行在别的进程的地址空间里,也就是创建远程线程来工作.这种方法事实上已经可以有很出色的效果了.要是非要挑它有什么毛病的话,我们可以说那不叫作真正的进程隐藏,因为根本没有实际的进程存在.    还有一种很高深的方法,能做到真正的进程隐藏.它用到了一些windows没有公开的数据结构,这些资料我之前也没有见过(怪我太孤陋寡闻^_^!).它的原作者也一定是个牛人了.这个方法也很有霸气,它会得到系统的进程链然后从中删掉要隐藏的进程节点,那么所有的进程管理程序就都看不到它了.其中所提供的代码我没有试验过,也略表示怀疑,觉得这种程序是否只有在内核态才能正常运行.无论怎样,据作者的说法,这样做会造成windows运行不稳定,有时会出现窗口报错,而且因为使用了未公开的东西,具体原因也无从知道了.    再有我还能想到的方法,就是用全局的api钩子,或者至少对进程管理器下钩子,截获helptools之类进程枚举的api.这也只是想法,我没有试验过不保证它一定能工作.万一进程管理器使用的是未公开的api而并非你所挂钩的那些,这样做就是无效的.再有加全局api钩子的性能代价还是不小的. 【推荐阅读:MFC和ATL控件创建签署的CAB文件

    有了想法,实现过程就简单了.我们先用spy++跟踪一下这个窗口的消息,发现它的每个进程项是依照顺序从上到下填写进去的.我们只需要拦截住相应的填入动作就可以了.以下是剪下来的跟踪结果的一个片断,我们可以看看到底需要拦截哪些消息,相应的消息参数也要到msdn里去查一下.


...   下一页
 ·可在运行时编辑的加速键表    »显示摘要«
    摘要:   ***简 介***  本文首先简要介绍了一下windows中的几个与加速键表有关的api函数及结构。然后对在win32位程序中实现加速键表进行了探讨,分别就api下的java/j2me/code/ target=_blank>程序设计及mfc下的程序设计进行了叙述。  对于运行时可编辑的加速键表仅在mfc下进行了详细描述。包括其实现原理,并引导大家建立了一个用于编辑加速键的对话框,含详细的代......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE