随笔分类 -  驱动

摘要:R0下需要attach到一个用户进程,取其SIDNTSTATUSGetUserName(char* a )/*++参数:a - [IN] [OUT] 得到current user的注册表内容形式如下"\\REGISTRY\\USER\\S-XXX-XXX..."功能:--*/{ NTSTATUS status = STATUS_SUCCESS;HANDLE hProcess;HANDLE TokenHandle;ULONG ReturnLength;ULONG size; UNICODE_STRING SidString; PTOKEN_USER TokenInformat 阅读全文
posted @ 2012-04-17 18:15 trxdy 阅读(526) 评论(0) 推荐(0)
摘要:1. 通过 pid 获取目标进程的 EPROCESS (PsLookupProcessByProcessId)。如果当前进程不是目标进程,那么我们切换当前进程,方法当然是通过 KeAttachProcess 或者 KeStackAttachProcess 啦。接下来我们就可以从 _PEB结构中随心所欲的获取目标路径,命令行,啥滴东西了。最后别忘了 Detach(如果你没有 Attach 那么这一步不需要)。2. 通过 pid 获取目标 EPROCESS。然后那,我们用 ObOpenObjectByPointer 函数,记得把 ObjectType置为 *PsProcessType (置空也行啦 阅读全文
posted @ 2012-03-26 11:17 trxdy 阅读(1524) 评论(0) 推荐(0)
摘要:目前网上流传的一些通过PSPCidTable的代码似乎有些问题,以下是我真实使用的一些代码,需要具体的可以向我索要:)针对XP动态的三层句柄表实现,2000就是固定的三层了,不多说了。 说明一下,PspCidTable仍然不能突破FUTO的限制,不过本人写的一个简单的测试代码是通过EPROCESS 的这个偏移就可以试实现:int OFFSET_MMSUPPORT_WORKINGSETEXPANSIONLINKS;//+0x024 WorkingSetExpansionLinks : _LIST_ENTRY [ 0x898d323c - 0x89850834 ]这个是获取最底层的代码,二三... 阅读全文
posted @ 2012-03-16 18:12 trxdy 阅读(347) 评论(0) 推荐(0)