能力值:
( LV2,RANK:10 )
|
-
-
2 楼
沙发个..
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
|
能力值:
( LV4,RANK:40 )
|
-
-
4 楼
防君子不防小人咯
|
能力值:
( LV9,RANK:280 )
|
-
-
5 楼
泪落晨曦
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
使用ZwCreateSection NULL FileHandle映射的内存无法被修改保护属性。 ps:是我先的!明明是我先来的....MDL也好,重映射也好,还是物理内存也好!为什么你会这么熟练啊!
最后于 2018-3-12 09:22
被hzqst编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
hzqst
泪落晨曦
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
使用ZwCreateSection&a ...
感谢大牛解释,学习一个
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
谢谢 原来如此~
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
这种方式可以防止内核态程序进行kiAttachProcess吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
hzqst
泪落晨曦
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
使用ZwCreateSection&a ...
不调用任何api,直接R0修改不行吗?
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
你这博客 需要改一下啊 太单纯了
|
能力值:
( LV1,RANK:0 )
|
-
-
11 楼
~~~~~~~~~~~~~点赞@
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
这个是用的什么工具,老哥在吗
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
···根据你的代码测试不行啊 返回-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 *)©buf,
0,
NULL,
&a,
&outlen,
ViewShare,
0,
PAGE_EXECUTE_READWRITE);
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
hzqst
泪落晨曦
大佬能不能解释下什么原理,一块新的section映射之后可以使得原来的section无法更改内存属性吗
使用ZwCreateSection&a ...
大表哥求科普下,已经映射完成的代码也,使用这招是不是就无效不能锁定内存页了
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
人家直接内核态去修改pte属性了
|
|
|