关于搜索内存 页解决方案

关于搜索内存 页
高手!近日读程序看到一个内存修改器的程序,有点不明白

下面是一段关于搜索内存的地方

假设一个页大小为4k



for(int i=0;i<(int)4*1024-3;i++)

{

//通过基址加上偏移地址寻找目标

}



我不明白的是 i为什么从0到 4*1024-3 而不是到4*1024-1


------解决方案--------------------
不知,帮顶……

是不是要查找的数据最小长度为3个字节以上,所以不用搜索最后2个字节……
------解决方案--------------------
假如你查找内存数据时以4个字节为一个单位,即用DWORD,那么4*1024-4就是此内存页最后4个字节的首地址,
即 4*1024-4,4*1024-3,4*1024-2,4*1024-1,此时刚好能转换为一个DWORD,如果找楼主所说的那样为4*1024-1,那么当转化为DWORD值时,不就越界了吗!
------解决方案--------------------
int型占用4字节,所以要减3。保证不越界。
不过这个循环也够奇怪的,按说步长也应该加4的,不知道要干什么
------解决方案--------------------
这样做可以*(DWORD*)pBase+i来直接按4字节整型取值。

不过正如楼上说的,为什么不i+=4呢