首页
社区
课程
招聘
未解决 [求助]r3下如何防止WriteProcessMemory对软件写入
2021-3-22 10:09 5202

未解决 [求助]r3下如何防止WriteProcessMemory对软件写入

2021-3-22 10:09
5202

防止其他软件对自己软件远程注入,读写内存,求一个思路,r3下有什么好的思路没有,求指点


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

收藏
免费 0
打赏
分享
最新回复 (21)
雪    币: 6853
活跃值: (3476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
htpidk 2021-3-22 10:30
2
0
setwindowshookex下个全局钩子HOOK
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-22 10:42
3
0
htpidk setwindowshookex下个全局钩子HOOK
能具体描述下过程吗,感谢
雪    币: 477
活跃值: (2371)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
Kaining 2021-3-22 10:45
4
0
可以使用CRC检测 来防止修改 
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-22 11:08
5
0
轩词 可以使用CRC检测 来防止修改
CRC可以检测是否被修改,但是无法判断是不是自己在修改
雪    币: 6853
活跃值: (3476)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
htpidk 2021-3-22 11:29
6
0
setwindowshookex下全局消息钩子啊,鼠标钩子啊,键盘钩子啊都可以,dllmain里HOOK WriteProcessMemory
雪    币: 8344
活跃值: (5565)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
mudebug 2021-3-22 14:11
7
0
r3层没有可对抗WriteProcessMemory的能力。不管你怎么做。机会不可能实现有效性的防御。
雪    币: 12500
活跃值: (3043)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
白菜大哥 2021-3-22 14:49
8
0
走服务器不香吗?关键数据服务器运算,或者多机运算。
雪    币: 57
活跃值: (2141)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
qiusuper 2021-3-22 15:23
9
0
自己骗自己
雪    币: 171
活跃值: (8454)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
学技术打豆豆 1 2021-3-22 16:28
10
0
可以尝试WriteWatch跟踪技术
雪    币: 1711
活跃值: (1667)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
自由狼 2021-3-22 16:40
11
0

这是用api写的反注入(用易写的,但是原理一样),你可以写一个弹出信息框的dll,看看能不能注入不报错,对于反内存读写,不太好办,总是有办法的

上传的附件:
雪    币: 2674
活跃值: (2304)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
低调putchar 1 2021-3-22 16:48
12
0
我以前是在R0下做的,HOOK的ntoskrnl.exe/ntkrnlpa.exe中的:nt!NtWriteVirtualMemory,防止非法进程通过WriteProcessMemory来写受保护的进程。
如果R3的话,可以考虑: 全局HOOK ntdll.dll中的: ntdll!NtWriteVirtualMemory实现类似的功能。
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2021-3-22 22:31
13
0
不管是r3还是r0都阻止不了对软件的写入,放弃抵抗吧,换思路
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-23 00:10
14
0
yy虫子yy 不管是r3还是r0都阻止不了对软件的写入,放弃抵抗吧,换思路
不抵抗写入,我这边只要知道是不是系统或者杀毒写入,如果不是就自动退出
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-23 00:12
15
0
低调putchar 我以前是在R0下做的,HOOK的ntoskrnl.exe/ntkrnlpa.exe中的:nt!NtWriteVirtualMemory,防止非法进程通过WriteProcessMemory来写受保护的 ...
r0我也试过了,在此之前对ssdt hook一片空白,也就这几天才接触到这块,我看网上代码,编译过了主要就是兼容性问题,x64好像很难做hook
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2021-3-23 00:40
16
0
MokeyF 不抵抗写入,我这边只要知道是不是系统或者杀毒写入,如果不是就自动退出
要知道,第三方软件是可以伪装成系统或者杀毒的
而且系统进程非常多,杀毒品牌也很多,更何况伪装者是没有标准的
一个没有标准的行为是无法被监测的,而你自己再制定标准去对抗无标准行为,这根本不可能了
从客户端的角度来说的确如此,最多也就是加强难度而始终跳不出攻防对抗的圈子
除非你的关注点不在客户端,比如服务器端,或者从深层次考虑,别人为什么要写你的内存?
写内存要干什么?这种“写内存”的需求你自己能不能提供?怎么去平衡这种供需关系?
雪    币: 437
活跃值: (524)
能力值: ( LV3,RANK:27 )
在线值:
发帖
回帖
粉丝
GhostValley 2021-3-23 11:53
17
0
随便天马行空的无逻辑的想法(单纯的也是无知的(先凡尔赛一下)):如果自己的软件里能够识别自己分配的堆(堆之上构建一个新的自己的堆结构)、然后由一个线程去定期校验合法性,不知可否(问题:怎么在一个线程里管理自己分配的或将要分配的堆)
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-23 12:36
18
0
https://www.novirusthanks.org/products/writeprocessmemory-monitor/  
For Windows XP, Vista, 7, 8, 10 (32\64-bit)
没搞明白他这个实现原理,是ssdthook?
雪    币: 11
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
MokeyF 2021-3-23 12:39
19
0
r0实现这个需要hook,hook的话,兼容性又是大问题
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
网络游侠 2021-3-23 12:40
20
0
free fun!
雪    币: 7
活跃值: (346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ybt 2021-3-27 16:25
21
0
R3:如果对方WriteProcessMemory,只是干inline hook之类的操作。这好办,启动前将关键API前几个字节保存下来,每次调用前,都用WriteProcessMemory写回去,让其hook失效。
雪    币: 137
活跃值: (1240)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huojier 2021-3-27 16:59
22
0
在不想被写入的区域用page_guard保护着就行了 
游客
登录 | 注册 方可回帖
返回