能力值:
( LV1,RANK:0 )
|
-
-
2 楼
push ebp mov ebp, esp ebp=esp push 0FFFFFFFFh ebp-4 push offset sub_401C80 ebp-8 mov eax, large fs:0 push eax ebp-c sub esp, 0Ch ebp-18 push ebx ebp-1c push esi ebp-20 push edi ebp-24 mov eax, ___security_cookie xor eax, ebp push eax ebp-28 lea eax, [var_C] eax=add:fs:0 mov large fs:0, eax fs:0=add:fs:0 mov [var_10], esp ebp-10=esp push offset unk_402630 ebp-2c lea eax, [var_14] mov [var_4], 0 push eax mov [var_14], offset aError ; "error" call _CxxThrowException mov eax, offset loc_40104D retn
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
push ebp mov ebp, esp ebp=esp push 0FFFFFFFFh ebp-4 push offset sub_401C80 ebp-8 mov eax, large fs:0 push eax ebp-c sub esp, 0Ch ebp-18 push ebx ebp-1c push esi ebp-20 push edi ebp-24 mov eax, ___security_cookie xor eax, ebp push eax ebp-28 lea eax, [var_C] eax=add:fs:0 mov large fs:0, eax fs:0=add:fs:0 mov [var_10], esp ebp-10=esp push offset unk_402630 ebp-2c lea eax, [var_14] mov [var_4], 0 push eax mov [var_14], offset aError ; "error" call _CxxThrowException mov eax, offset loc_40104D retn 请问我这样分析对不对
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
SIZE_T regionSize; regionSize = sizeof(UCHAR);
status = ZwProtectVirtualMemory(NtCurrentProcess(), &baseAddress, ®ionSize, PAGE_EXECUTE_READWRITE, &oldProtection);
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
柒雪天尚
SIZE_T regionSize;
regionSize = sizeof(UCHAR);
status = ZwProtectVirtualMemory(NtC ...
不行啊 虽然成功了, 但是并没有修改属性 process_MemProtect(pid, 0x40000, 4, PAGE_NOACCESS); 0x40000这个数据我用CE看, 还是能看到数据
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
mb_tiqapxsm
push ebp
mov ebp, esp ebp=esp
push 0FFFFFFFFh ebp-4
push ...
??? 没看懂, 我是想成功调用ZwProtectVirtualMemory(), 我用R3层的ProtectVirtualMemory()函数就没问题, 但是用内核的就不成功
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
因为是KeStackAttachProcess附加 所以要OpenProcess用PROCESS_ALL_ACCESS,传给ZwProtectVirtualMemory,而不是-1
|
能力值:
( LV3,RANK:30 )
|
-
-
8 楼
AngelBeats丶
不行啊 虽然成功了, 但是并没有修改属性
process_MemProtect(pid, 0x40000, 4, PAGE_NOACCESS);
0x40000这个数据我用CE看, 还是能看到数 ...
CE可能在读取数据之前修改过内存的保护属性...建议过滤NtProtectVirtualMemory和NtReadVirtualMemory,让CE无法读取内存和修改内存保护
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
Boring勇哥
CE可能在读取数据之前修改过内存的保护属性...建议过滤NtProtectVirtualMemory和NtReadVirtualMemory,让CE无法读取内存和修改内存保护
我用R3层的ProtectVirtualMemory()函数, 修改PAGE_NOACCESS调用完后, 用CE看内存, 看到的是?? 也说明了R3层调用成功了 但是我用R0的NtReadVirtualMemory()函数, 修改PAGE_NOACCESS调用完后, 用CE看内存, 还是能看到数值, 而且返回值是C00000F1、C0000005等等
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
yy虫子yy
因为是KeStackAttachProcess附加
所以要OpenProcess用PROCESS_ALL_ACCESS,传给ZwProtectVirtualMemory,而不是-1
我用了NtOpenProcess()函数打开进程的, 虽然不会蓝屏, 但是还是没有修改属性, 我用CE还是能看到数值, 正常来说修改PAGE_NOACCESS属性后, CE看到是??
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
看返回值查到原因了, 应该是系统页面方式问题, 用其他虚拟机测试可以用
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
AngelBeats丶
看返回值查到原因了, 应该是系统页面方式问题, 用其他虚拟机测试可以用
r3都能修改了,ce看不到,r0还比r3权限低么,肯定是代码写错了
|
能力值:
( LV1,RANK:0 )
|
-
-
13 楼
不能改内核地址
|
|
|