科普一下在驱动中如何调用Zw***未导出函数 委员长 · · Windows程序设计
0 0 0

本文共计767个字,预计阅读时长3.1分钟。

1.申请一块长达31字节的可执行NonPagedPool内存 2.从ZwOpenProcess的起始地址开始复制31字节到上面Buffer 3.修正标蓝的代码(计算出KiServiceLinkage和KiServiceInternal的地址,并填入正确的shellcode) 4.把标红的4个字节修改为你要调用的Zw***函数的索引号码

fffff800016bc920 488bc4          mov     rax,rsp fffff800016bc923 fa              cli
fffff800016bc924 4883ec10        sub     rsp,10h fffff800016bc928 50              push    rax
fffff800016bc929 9c              pushfq fffff800016bc92a 6a10            push    10h
fffff800016bc92c 488d05bd2d0000  lea     rax,[nt!KiServiceLinkage (fffff800016bf6f0)]
fffff800016bc933 50              push    rax fffff800016bc934 b823000000      mov     eax,23h
fffff800016bc939 e902650000      jmp     nt!KiServiceInternal (fffff800016c2e40)
fffff800`016bc93e 6690            xchg    ax,ax

5.CALL这段Buffer。 是不是非常简单。

最后于 2023-2-26 被admin编辑 ,原因:

最新回复 ( 0 )
全部楼主
  • 暂无评论