- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 DPC函数
DPC是Deferred Procedure Call,推迟的过程调用。内核中每个CPU都有一个DPC请求队列,DPC请求队列在每个CPU的PRCB数据结构中 设备对象的数据结构DEVICE_OBJECT中有个成分Dpc,它是KDPC数据结构,用来设置有关本设备对象的DPC函数的信息。 ntdll!_KDPC +0x000 Type : In
2009-12-28 20:29:00 3095
原创 Josephus问题
算法不是一般的烂呀,这个Josephus问题还纠结了半天。还好最后纠结出来了,其实很简单呀,弄个循环链表,遇到需要出列的就把这个节点从链表中删除,直到最后循环链表中只有一个节点。 1 void Josephus( ) 2 {
2009-12-15 14:44:00 2146
原创 Windows进程的创建
1.打开目标映像文件 2.创建Windows的进程控制块EPROCESS及相应的句柄 3.创建该进程的第一个线程,包括其堆栈、上下文,及线程控制块ETHREAD 4.将新创进程通知Windows子系统(csrss.exe) 5.启动初始线程运行 5.在新创进程和线程的上下文中完成用户空间的初始化 csrss中会保存有进程PID等相关信息,那么通过csrss应该也能够枚举所有的线程。Ho
2009-12-08 23:11:00 2340
原创 枚举进程——PspCidTable
看Windows内核情景分析的时候看到讲PspCidTable中会保存每个进程和线程的CID,就在想可以通过这个表来获取到每个进程的PID及相关信息,然后网上一搜,已经有N多人通过这种方法来获取进程列表了,Iceword也是有这种方法来枚举进程的。Anyway,还是自己实现一遍吧。当然也借鉴了别人的代码。 NTSTATUS DriverEntry(IN PDRIVER_OBJECT Dr
2009-12-07 21:57:00 1862
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人