-
由于RichEdit自身的复杂性,对于一个SDK程序员来说,对它进行编程,着实非一件易事!从Microsoft没把它和公共控件(comtrl32.dll)放在一起而独立封将成一riched20.dll文件,就知道它来头不小。
-
绕过内核调度链表进程检测[转]
2006-05-21
一般隐藏进程的方法实际是无法彻底隐藏进程,因为内核调度是基于线程的... -
剖析Windows系统服务调用机制[转]
2006-05-21
Windows系统服务调用是存在于Windows系统中的一个关键接口,常常称作System Call ,Sysem Service Call 或 System Service Dispatching等,在此我们就权且称之为Windows系统服务调用,它提供了操作系统环境由用户态切换到内核态的功能。虽然在国外关于Windows系统服务调用的讨论比较多,但却很少看到比较详细的中文资料,希望本文能够为和作者一样对Windows底层感兴趣并且是刚刚接触的朋友提供一些帮助。文章中将以一个内核级的进程监视/隐藏工具T-ProcMon为例来详细讨论Windows系统服务调用的相关技术细节。另需注意本文讨论的技术仅适用于基于Windows NT内核的操作系统,并以Windows 2000为例。
-
绕过Windows Rootkit检测系统[转]
2006-05-21
PatchFinder是一个设计很巧妙的程序,基于EPA(执行路径分析)技术用来检测侵入内核的Rootkit。附录1和2可以让你了解它是如何工作的。这篇文章将提供一种绕开EPA的方法…… -
浅析本机API[转]
2006-05-21
本机API除了Win32 API之外,NT还开放了另一个基本的接口。Win32 API中的所有调用最终都转向了ntdll.dll,再由它转发至ntoskrnl.exe。ntdll.dll是本机 API用户模式的终端。真正的接口在ntoskrnl.exe里完成。 -
安全稳定的实现进线程监控[转]
2006-05-21
用PsSetCreateProcessNotifyRoutine,PsSetCreateThreadNotifyRoutine来进行进程线程监控我想大家已经都非常熟练了.sinister在<<编写进程/线程监视器>>一文中已经实现得很好了.前一段时间看到网上有人在研究监视远线程的文章,比较有意思.就写代码玩一玩.这之中就出现了一些问题.比方说直接用sinister的代码的话,是不能动态卸载的,因为他在安装了进线程监视函数后没有进行清除动作,造成在动态卸载时蓝屏,BUGCHECK为0x000000ce,错误码为:DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS.很显然,在驱动退出后,一些进线程操作仍然在访问原来的地址,造成出错.在XP后,微软给出了一个函数PsRemoveCreateThreadNotifyRoutine用来清除线程监视函数(清除进程监视的就是PsSetCreateProcessNotifyRoutine).我一直奇怪ICESWORD在2000中是怎么做到进线程监视的.后来才发现,在运行icesword后释放出一个detport.sys文件,然后一直在系统中存在着没有卸载掉.只是把它隐藏了而已^_^.这不是个好消息,难道我为了测试一个驱动,测试一次就得重启一次吗?呵呵,肯定不是啊,所以想办法搞定它 -
检测并禁用隐藏服务[转]
2006-05-21
隐藏服务的概念是由hxdef 和rootkit这些后门工具提出的。这些后门工具通过挂钩系统本地调用来隐藏自己,原本通过调用Windows API调用查看系统服务的企图都是徒劳的。所以这时的系统是不可靠的,不值得信任的。目前针对查找隐藏服务的工具已经有很多,比如IceSword,knlsc,FHS等等。虽然这些软件都是免费的,但是它们到目前为止都不是开源,所以将自己的实现版本展示出来,正如knlsc的作者所说的那样,这是一个简单的小程序... -
Shared Memory for Application Process
2006-05-21
Some API (SendMessage for example) use pointers to structures to be filled
with some data. If you're sending such message to window belong to your
process - no problem. But if you try to send this message to different
process GPF can occure, because structure address belong to calling process
memory space and target process can not achive this address. Here is
work around.For Win95/98/ME we can use File Mapping, because OS place mapped files
into shareable memory space. But we can't use this trick for NT - NT map
files into calling process memory area. In this case, we can use
VirtualAllocEx function to reserve memory inside target process. -
TCP/UDP Handle List [转]
2006-05-21
TCP/UDP Handle List
共1页 1







