自己实现读写内存API和OpenProcess躲过Ring3层的HOOK(win10 1903)

编程入门 行业动态 更新时间:2024-10-22 16:49:19

自己实现读写<a href=https://www.elefans.com/category/jswz/34/1771154.html style=内存API和OpenProcess躲过Ring3层的HOOK(win10 1903)"/>

自己实现读写内存API和OpenProcess躲过Ring3层的HOOK(win10 1903)

想躲过ring3层的某些API的HOOK,不想恢复钩子,自己写,百度一搜半天都找不到,只能自己动手了...

OpenProcess和ReadProcessMemory和WriteProcessMemory都在KernelBase.dll里

NtOpenProcess和NtReadVirtualMemory和NtWriteProcessMemory在ntdll.dll里

用IDA进行逆向即可得到它们的汇编代码,嫌麻烦的话可以不用去逆向KernelBase.dll里的,自己用Nt式的API和用KernelBase.dll的差不多,反正KernelBase.dll里的也只是对参数做些安全检查,到后面还是调用了ntdll.dll的函数

 

(WriteProcessMemory代码太长了,所以直接搞NtWriteVirtualMemory了,SetLastError也算了,不返回错误代码也无所谓,asm文件咋用,自己百度)

.asm文件:

.CODE
MyNtOpenProcess PROCmov     r10, rcxmov     eax, 26hsyscallret
MyNtOpenProcess ENDPMyOpenProcess PROCmov     r11, rspsub     rsp, 68hand     qword ptr [r11-40h], 0lea     r9, [r11-48h]movsxd  rax, r8dxorps   xmm0, xmm0mov     r12,30hmov     [rsp + 68h - 38h], r12lea     r8, [r11-38h]and     qword ptr [r11-30h], 0neg     edxmov     [r11-48h], raxmov     edx, ecxlea     rcx, [r11+20h]sbb     eax, eaxand     eax, 2mov     [rsp+68h-20h], eaxand     qword ptr [r11-28h], 0movdqu  [rsp+68h-18h], xmm0call    MyNtOpenProcessnop     dword ptr [rax+rax+00h]mov     rax, [rsp+68h+20h]add     rsp,68hret
MyOpenProcess ENDPMyZwReadVirtualMemory PROCmov     r10, rcxmov     eax, 3Fhsyscallret
MyZwReadVirtualMemory ENDPMyReadProcessMemory PROCsub     rsp, 48hlea     rax, [rsp+48h-18h]mov     [rsp+48h-28h], raxcall    MyZwReadVirtualMemorynop     dword ptr [rax+rax+00h]mov     rdx, [rsp+48h+28h]test    rdx, rdxjnz     short JS:mov     eax, 1add     rsp, 48hretJ:mov     rcx, [rsp+48h-18h]mov     [rdx], rcxjmp     short S
MyReadProcessMemory ENDPMyNtWriteVirtualMemory PROCmov     r10, rcxmov     eax, 3Ahsyscallret
MyNtWriteVirtualMemory ENDP
END

 

更多推荐

自己实现读写内存API和OpenProcess躲过Ring3层的HOOK(win10 1903)

本文发布于:2024-02-11 20:17:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1683213.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:内存   OpenProcess   API   HOOK

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!