首页
社区
课程
招聘
[讨论]PUBG 2018.3.9更新的代码页防止更改
2018-3-10 16:00 18207

[讨论]PUBG 2018.3.9更新的代码页防止更改

2018-3-10 16:00
18207
首先感谢hzqst大表哥 么么哒



结合图片可以看见手法类似
实现的效果 此时该页面的内存属性已经无法更改了。



穿透思路:MDL 无需多说
secobj重映射
hook xe loader 给属性为rwx
pubg 2018.3.9 更新的代码页保护手法。



博客外链:https://renjing.wang/244.html
2333

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞3
打赏
分享
最新回复 (14)
雪    币: 659
活跃值: (956)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdjytony 2018-3-10 16:13
2
0
沙发个..
雪    币: 223
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
泪落晨曦 2018-3-10 19:06
3
0
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
雪    币: 433
活跃值: (1825)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
萌克力 2018-3-10 19:13
4
0
防君子不防小人咯
雪    币: 12839
活跃值: (9013)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
hzqst 3 2018-3-10 19:59
5
0
泪落晨曦 大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
使用ZwCreateSection   NULL  FileHandle映射的内存无法被修改保护属性。
ps:是我先的!明明是我先来的....MDL也好,重映射也好,还是物理内存也好!为什么你会这么熟练啊!
最后于 2018-3-12 09:22 被hzqst编辑 ,原因:
雪    币: 223
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
泪落晨曦 2018-3-10 21:22
6
0
hzqst 泪落晨曦 大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗 使用ZwCreateSection&a ...
感谢大牛解释,学习一个
雪    币: 332
活跃值: (4109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
pysafe 2018-3-11 09:09
7
0
谢谢  原来如此~
雪    币: 683
活跃值: (622)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Jason姚 2018-3-14 09:51
8
0
这种方式可以防止内核态程序进行kiAttachProcess吗?
雪    币: 20
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_咖啡_552099 2018-3-15 16:13
9
1
hzqst 泪落晨曦 大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗 使用ZwCreateSection&a ...
不调用任何api,直接R0修改不行吗?
雪    币: 3110
活跃值: (143)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
sorrywyb 2018-3-15 17:32
10
0
你这博客  需要改一下啊  太单纯了 
雪    币: 189
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
By晨熙 2019-4-3 16:41
11
0
~~~~~~~~~~~~~点赞@
雪    币: 132
活跃值: (162)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
丶丶啊啊啊啊 2019-10-1 21:10
12
0
这个是用的什么工具,老哥在吗
雪    币: 2675
活跃值: (3868)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
值得怀疑 2019-10-1 23:19
13
0
···根据你的代码测试不行啊 返回-1073741800

	PVOID copybuf = VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
	*(int*)copybuf = 123;
	PVOID addr = (PVOID)&m_val;
	SIZE_T outlen = 0;
	HANDLE hSection;
	LARGE_INTEGER FileSize, a = {};
	FileSize.QuadPart = 0x1000;
	SIZE_T size = FileSize.LowPart;

	HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
	long status = NtCreateSection(&hSection, SECTION_ALL_ACCESS, NULL,
		&FileSize,
		PAGE_EXECUTE_READWRITE,
		SEC_COMMIT,
		NULL);

	if (status != STATUS_SUCCESS)
		return 0;
	status = NtMapViewOfSection(hSection,
		hProcess,
		(PVOID *)&copybuf,
		0,
		NULL,
		&a,
		&outlen,
		ViewShare,
		0,
		PAGE_EXECUTE_READWRITE);

雪    币: 750
活跃值: (2692)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tmflxw 2021-12-26 22:36
14
0
hzqst 泪落晨曦 大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗 使用ZwCreateSection&a ...
大表哥求科普下,已经映射完成的代码也,使用这招是不是就无效不能锁定内存页了
雪    币: 2672
活跃值: (3307)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Mr.hack 2022-10-2 11:17
15
0
人家直接内核态去修改pte属性了
游客
登录 | 注册 方可回帖
返回