ldnhhy 发表于 2017-6-2 13:31:37

内存填零杀进程


内存填零杀进程

效果:可以杀掉360的傀儡进程zhudongfangyun.exe但杀360tray.exe时会卡死系统,不知道360tray做了如何保护..

lkd> dd MmSystemRangeStart
805599d880000000 7ffeffff 00000000 00000000
805599e800000000 00000000 00000000 00000000
805599f800000000 00000000 0000000d 00000000
80559a0800000000 00000000 00000000 00000000
80559a1800000000 00000000 00000000 00000000
80559a2800000000 00000000 00000000 00000000
80559a3800000000 00000000 00000000 00000000
80559a4800000000 00000000 00000000 00000000

MmSystemRangeStart是内核导出的一个内核常量, 指出了线性地址的起始位置.从上面可以看出起始位置是80000000.如何打印出?

其中 PHYSICAL_ADDRESS 在ntdef.h中有定义:
typedef   LARGE_INTEGERPHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;


2.

中间一个小插曲,他的代码中为什么都用DWORD类型,而不用ULONG类型?实际上两者是一样一样的.
LONG与DWORD都是WinDef.h中定义的宏

typedef   unsigned   long   ULONG;
typedef   unsigned   long               DWORD;

两者一模一样.

为何我在很多地方看到同时使用这两个类型???

例1,在MSDN中代码:
      DWORD   dw;   ULONG   cbRead;

例2,在winterdom上的代码:bool   CreateIocp

ulong是偏向于“数值”的概念就是无符号长整形,从0到4294967295。
而DWORD则偏向于这种数据类型所占的字节数为4Bytes,他可以分成高低“字”,等等,通常作为flag
页: [1]
查看完整版本: 内存填零杀进程