longlonglong 发表于 2023-10-22 13:58

页面属性更改失败

本帖最后由 longlonglong 于 2023-10-22 13:58 编辑

程序加VMProtect v3.00 - 3.5.0 [ option : packed ] -   2003-2021

1935E350                              | 55                     | push ebp                                                                  |
1935E351                              | 8BEC                     | mov ebp,esp                                                               |
1935E353                              | 51                     | push ecx                                                                  |
1935E354                              | C645 FF 00               | mov byte ptr ss:,0                                                   |
1935E358                              | 0FB645 FF                | movzx eax,byte ptr ss:                                             |
1935E35C                              | 85C0                     | test eax,eax                                                                |
1935E35E                              | 75 54                  | jne nice801tdx.1935E3B4                                                   |
1935E360                              | 0FB64D 14                | movzx ecx,byte ptr ss:                                              |
1935E364                              | 85C9                     | test ecx,ecx                                                                |
1935E366                              | 74 1A                  | je nice801tdx.1935E382                                                      |
1935E368                              | 6A 01                  | push 1                                                                      |
1935E36A                              | 8B55 10                  | mov edx,dword ptr ss:                                             |
1935E36D                              | 52                     | push edx                                                                  |
1935E36E                              | 8B45 0C                  | mov eax,dword ptr ss:                                                |
1935E371                              | 50                     | push eax                                                                  |
1935E372                              | E8 B5950D00            | call nice801tdx.1943792C                                                    |
1935E377                              | C3                     | ret                                                                         |
1935E378                              | 83C4 0C                  | add esp,C                                                                   |
1935E37B                              | 8B4D 08                  | mov ecx,dword ptr ss:                                                |
1935E37E                              | 8901                     | mov dword ptr ds:,eax                                                |
1935E380                              | EB 18                  | jmp nice801tdx.1935E39A                                                   |
1935E382                              | 8B55 10                  | mov edx,dword ptr ss:                                             |
1935E385                              | 52                     | push edx                                                                  |
1935E386                              | 8B45 0C                  | mov eax,dword ptr ss:                                                |
1935E389                              | 50                     | push eax                                                                  |
1935E38A                              | 6A 00                  | push 0                                                                      |
1935E38C                              | E8 DF5D2A00            | call nice801tdx.19604170                                                    |
1935E391                              | C3                     | ret   

地址1935E350指令改为1935E350                              | C3                     | retn

内存中注入代码:
//="nice801tdx.dll"
mov edi,esi
add edi,0x3CC
push edi
call <kernel32.GetModuleHandleA>
cmp eax,0x0
je @L00000003      
mov edi,esi
add edi,0x3BC
push edi
push 0x40
push 0x4
add eax,0xE350
mov edi,eax
push eax
call <kernel32.VirtualProtect>//地址1935E350属性改为PAGE_EXECUTE_READWRITE
mov byte ptr ds:,0xC3

call <kernel32.VirtualProtect>指令通过call GetLastError返回值00000005。
操作失败。通过大白却可以操作成功。

问题一:
请指出上面方法为什么失败
问题二:
是否有更好的方法

lies2014 发表于 2023-10-22 14:38

ZwProtectVirtualMemory被VMProtect下钩子了,解决办法当然就是从系统中获取正确入口并恢复
论坛有教程:
https://www.52pojie.cn/thread-1159161-1-1.html

longlonglong 发表于 2023-10-22 14:52

lies2014 发表于 2023-10-22 14:38
ZwProtectVirtualMemory被VMProtect下钩子了,解决办法当然就是从系统中获取正确入口并恢复
论坛有教程:
...

谢谢,ZwProtectVirtualMemory函数都没问题

longlonglong 发表于 2023-10-22 15:28

lies2014 发表于 2023-10-22 14:38
ZwProtectVirtualMemory被VMProtect下钩子了,解决办法当然就是从系统中获取正确入口并恢复
论坛有教程:
...

现在在研究大白为什么能成功。
页: [1]
查看完整版本: 页面属性更改失败