首页
社区
课程
招聘
[求助]内核下如何判断一个应用层的内存是否可以读写
发表于: 2019-1-9 15:39 7380

[求助]内核下如何判断一个应用层的内存是否可以读写

2019-1-9 15:39
7380
比如有一个应用程序 他的内存0x1234f0 我想在内核里面判断这个地址是否是有效的,是否可以读写 。用什么函数或者方法呢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (26)
雪    币: 5270
活跃值: (3505)
能力值: ( LV7,RANK:117 )
在线值:
发帖
回帖
粉丝
2
mmisaddressvalid
2019-1-9 15:48
0
雪    币: 190
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ProbeForWrite
2019-1-9 16:00
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
create mdl
2019-1-9 16:23
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
mmisaddressvalid 这个函数微软好像很不推荐用 。
2019-1-9 16:50
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
而且这里延伸出另外一个问题,如果我调用函数判断到地址可以访问,这个时候那个地址被释放了。我再去读就会崩溃。一般这种情况怎么处理呢?
2019-1-9 17:06
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
7
__try
{
ProbeForRead/ProbeForWrite
}

无模块的洗洗睡去吧
2019-1-9 18:11
0
雪    币: 914
活跃值: (2473)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
8
大佬判断什么东西啊
最后于 2019-1-9 18:49 被万剑归宗编辑 ,原因: 没认出来是大佬
2019-1-9 18:48
0
雪    币: 914
活跃值: (2473)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
9
Troy 而且这里延伸出另外一个问题,如果我调用函数判断到地址可以访问,这个时候那个地址被释放了。我再去读就会崩溃。一般这种情况怎么处理呢?
先用MDL锁住,然后再享用
2019-1-9 18:50
0
雪    币: 5270
活跃值: (3505)
能力值: ( LV7,RANK:117 )
在线值:
发帖
回帖
粉丝
10
Troy 而且这里延伸出另外一个问题,如果我调用函数判断到地址可以访问,这个时候那个地址被释放了。我再去读就会崩溃。一般这种情况怎么处理呢?
自己查表重映射,就没这问题了
2019-1-9 23:31
1
雪    币: 5270
活跃值: (3505)
能力值: ( LV7,RANK:117 )
在线值:
发帖
回帖
粉丝
11
Troy 而且这里延伸出另外一个问题,如果我调用函数判断到地址可以访问,这个时候那个地址被释放了。我再去读就会崩溃。一般这种情况怎么处理呢?
还有个办法,最近刚发现的,CheatEngine驱动代码里的noexceptions部分
2019-1-9 23:37
1
雪    币: 3574
活跃值: (4719)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
鬼才zxy 还有个办法,最近刚发现的,CheatEngine驱动代码里的noexceptions部分
CE的代码你会发现 实际上是IDT XXX
2019-1-10 01:35
1
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
。64位下无模块的异常抛不了相对麻烦些
2019-1-10 10:13
1
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
万剑归宗 先用MDL锁住,然后再享用
MDL锁住后 对面进程被杀死 内存还在吗
2019-1-10 10:30
0
雪    币: 18
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
Troy MDL锁住后 对面进程被杀死 内存还在吗
肯定不在啊, 先用CE的方法(参考CE源代码写法)判断内存是否有效,然后再用过MDL锁住,然后再try,
2019-1-10 10:54
1
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
幻冬 肯定不在啊, 先用CE的方法(参考CE源代码写法)判断内存是否有效,然后再用过MDL锁住,然后再try,
我基本上换方法了 。,我没模块 。try不了。。哈哈 惨得很  内核下就SEH异常 64位下行不通。
2019-1-10 11:24
1
雪    币: 914
活跃值: (2473)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
17
Troy 我基本上换方法了 。,我没模块 。try不了。。哈哈 惨得很 内核下就SEH异常 64位下行不通。
直接物理内存PY一下,就算读写不了也不容易炸,最多找错人了
2019-1-10 11:41
1
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
18
大手子要的可是百万级别的读写,物理内存的话,人家的需求不够
2019-1-10 13:56
1
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
万剑归宗 直接物理内存PY一下,就算读写不了也不容易炸,最多找错人了[em_1]
读物理内存每次要用那个Zw那个什么函数来着 。来隐射到自己的虚拟地址,在隐射之前也得先锁内存 而且锁物理内存那Mm那个函数也要try一下 。我这个没模块的尴尬。
2019-1-10 14:31
1
雪    币: 914
活跃值: (2473)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
20
Troy 读物理内存每次要用那个Zw那个什么函数来着 。来隐射到自己的虚拟地址,在隐射之前也得先锁内存 而且锁物理内存那Mm那个函数也要try一下 。我这个没模块的尴尬。
路并非只有一条,我不是在说笑
2019-1-10 14:52
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
我自己知道的几条路多多少少有点小问题 。蛋疼,主要是同步问题,。正准备去读的时候目标进程被杀很有可能
2019-1-10 16:02
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
22
既然是大手子那么只能告诉你 注入就完事了
2019-1-10 20:48
0
雪    币: 18
活跃值: (2079)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
hzqst 既然是大手子那么只能告诉你 注入就完事了
注入?注入什么?
2019-1-10 21:21
0
雪    币: 5270
活跃值: (3505)
能力值: ( LV7,RANK:117 )
在线值:
发帖
回帖
粉丝
24
刘铠文 大手子要的可是百万级别的读写,物理内存的话,人家的需求不够
物理内存做到百万级也是可以的,蓝不蓝,就看你写法了
2019-1-11 02:46
0
雪    币: 441
活跃值: (1060)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
25
自己去检查页表
2019-11-27 12:27
0
游客
登录 | 注册 方可回帖
返回
//