普及X64 ssdtshadow inline HOOK

本文介绍了如何在X64系统中进行SSDTShadow Inline Hook,通过获取KeServiceDescriptorTableShadow地址,找到目标函数地址,并利用汇编引擎创建代理函数,实现在NtUserWindowFromPoint函数上的HOOK操作。
摘要由CSDN通过智能技术生成
序:
我只想说~~再不发帖老大就 不搭理我了~~~
原因:玩保护玩到了 XINGCODE3 就他的各种检测就让我不得不重视这个问题了:o:


各种窗口 各种X 我的工具 让我忍无可忍,就决定先HOOK了在说其他 最开始我用TA 的代码里面的 HOOK 方法 在 挂钩 NT 内核中的函数算是无往不利 在SHADOWSSDT中就蛋疼菊花紧了~~
于是 开始自己搞:mad::mad:


我们要做的就是
得到KeServiceDescriptorTableShadow的地址 然后根据这个玩意儿得到函数地址 再inline hook!




大家要说了为什么不直接利用表HOOK 我就像说一句 太麻烦 要找一个在同一4GB 的内存空间做代理函数 还要二级跳 何必呢:D::D::D:




HOOK 方式 使用汇编引擎得到一个不截断的大于等于14字节的可存放JMP 的长度 


然后COPY 这个一片内存 复制到代理函数的开头  我用的汇编文件 给他30 个NOP 怎么都够了


然后 进入过滤函数 最后决定是跳回去执行还是这里就返回了


下面这个函数是获取 指定shadowssdt中指定index的项的函数地址




ULONG64 ssdt_GetSSDTShaDowFuncX64(ULONG serviceID){
PKSERVICE_TABLE_DESCRIPTOR SSDTShadow;
PULONG         W32pServiceTab
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值