原文发表于百度空间,2008-10-24========================================================================== 简单说,即调用第11号功能,枚举一下内核中已加载的模块.部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformation,NULL,0,&needlen);//申请内存ZwAllocateVirtualMemory(NtCu…
简单说,即调用第11号功能,枚举一下内核中已加载的模块.部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformation,NULL,0,&needlen);//申请内存ZwAllocateVirtualMemory(NtCurrentProcess(),(PVOID*)&pBuf,0,&needlen,MEM_COMMIT,PAGE_READWRITE);//再次调用ZwQuerySystemIn…
原文发表于百度空间,2009-03-30========================================================================== 阅读提示:由于继续使用了chichou同学的CodeHighlighter来修饰代码,造成文章字数过多,故分成三篇,且后两篇内容的顺序稍有调整,阅读时请根据大标题的顺序来~ 前置知识:Windows句柄表的基本结构本文以WRK1.2的代码为参考,主要分析Windows句柄表的分配算法,其实只要了解了句柄表的结…
原文发表于百度空间,2008-12-03========================================================================== 今天写程序,用ZwQuerySystemInformation枚举系统中的文件句柄时出了问题,死活一个都找不到,可是这明显不可能啊?于是用Process Explorer随便找了个文件句柄对象,然后看了它的OBJECT_TYPE,才发现文件句柄的类型索引应为28,而我用的是炉子给的那个SYSTEM_HANDL…
原文发表于百度空间,2009-03-28========================================================================== PspCidTable也是一个句柄表,其格式与普通的句柄表是完全一样的.但它与每个进程私有的句柄表有以下不同:1.PspCidTable中存放的对象是系统中所有的进线程对象,其索引就是PID和TID2.PspCidTable中存放的直接是对象体(EPROCESS和ETHREAD),而每个进程私有的句柄表则存放…
原文发表于百度空间,2008-10-15========================================================================== 很古老的东西了,写一写,权当练手吧.本来以为没什么难度,很科普很傻瓜的东西,但是写的时候还是遇到一些问题,进程信息正确,得到的线程信息总是不正确,后来分析了一下,发现这个ntdll sdk中定义的进程信息结构和线程信息结构都有点问题,可能它是来自<Win2000 Native API>一书,不适用于Wind…
原文发表于百度空间及看雪论坛,2009-02-27 看雪论坛地址:https://bbs.pediy.com/thread-82919.htm========================================================================== PspCidTable现在已经很科普了,关于其具体格式及如何枚举,网上相关文章一大堆,最多的两篇是gz1x和sudami写的.我这里只谈一个问题,就是枚举PspCidTable时cid的上限问题.很多人提到以…
原文发表于百度空间,2009-09-17========================================================================== 相当老的话题,大约一年前就写过这个东西了,不过那时候知识比较有限,也不了解内核,因此实现得很粗浅,现在再写一下,权当是对这个老问题的总结吧.先谈谈正规DLL的隐藏方法,这里说的正规DLL,是指用LoadLibrary以正常方式加载的DLL.一.从PEB的Ldr链中消失这个很简单,看雪上NetRoc有一篇关于这…
原文发表于百度空间,2009-01-09========================================================================== 今天又想起来VirtualKD这个东西,试用了一下,真是爽坏了,可能我火星了~~ 很久以前就知道小喂有个VmKd工具,使用Vmware的后门指令直接拷贝数据来代替模拟串口,能大大提高调试时的数据传输速度.不过那个对VMware版本的依赖性太强,我的Vmware就没法用,所以很不爽得又放下了,很长一段时间也没关…
在内核中通过调用此函数来枚举windows系统中已经加载的内核模块. NTSTATUS ZwQuerySystemInformation ( SYSTEM_INFORMATION_CLASS SystemInformationClass, PVOID SystemInformation, ULONG SystemInformationLength, ULONG *ReturnLength); 当参数SystemInformatioClass的值为SystemModuleInformation(0…