开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 158|回复: 3
收起左侧

[已解决] 关于NB模块内的硬件断点HOOK卡死问题

 关闭 [复制链接]
结帖率:92% (12/13)
发表于 前天 11:12 | 显示全部楼层 |阅读模式   山东省青岛市
20精币
无意中下载了NB的模块 发现NB模块有硬件断点HOOK
就顺便研究了下 NB模块里的硬件断点HOOK
发现在某无任何检测的SF 会卡死 不知道为什么
有懂得可告知下哦 写法如下图
QQ图片20250808111056.png
这样写有什么不对的吗  NB模块作者 冰棍好烫写的X64的例子 也是这样写的呢
不知道为什么就是会卡死 掉线!

最佳答案

查看完整内容

就比如我要拦截MessageBoxA 先看看函数头指令 mov edi,edi 2字节 push ebp 1字节 mov ebp,esp 2字节 回调处理完最少要跳到 cmp dword ptr,00执行,应该怎么做呢, 第一个指令mov edi,edi没有用不管, 第二个指令push ebp 也就是esp-4 然后把ebp的值写到esp+0处. 第三个指令mov ebp,esp 这个简单,就是ebp=esp 最后EIP跳过这几个指令(5字节)也就是EIP=EIP+5 由此可得处理函数 下面是弹窗内容被改变了 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:60% (3/5)

签到天数: 8 天

发表于 前天 11:12 | 显示全部楼层   广西壮族自治区柳州市
就比如我要拦截MessageBoxA
QQ20250808-153022.png
先看看函数头指令
QQ20250808-153228.png
mov edi,edi  2字节
push ebp     1字节
mov ebp,esp 2字节
回调处理完最少要跳到  cmp dword ptr[user32.gSharedInfo+28c],00执行,应该怎么做呢,
第一个指令mov edi,edi没有用不管,
第二个指令push ebp  也就是esp-4 然后把ebp的值写到esp+0处.
第三个指令mov ebp,esp 这个简单,就是ebp=esp
最后EIP跳过这几个指令(5字节)也就是EIP=EIP+5
由此可得处理函数
QQ20250808-154059.png
下面是弹窗内容被改变了
QQ20250808-154421.png


回复

使用道具 举报

结帖率:60% (3/5)

签到天数: 8 天

发表于 前天 15:21 | 显示全部楼层   广西壮族自治区柳州市

这是TR模块不是NB,这个硬件断点HOOK回调处理比较复杂(模拟原生的处理函数没加封装),我写这代码时也没过多测试有可能存在BUG。
不过你这种情况是回调处理没到位。
1,回调处理好以后返回-1告诉系统这个异常已经处理了,以免有其他异常抓取程序继续处理。
2,断点处地址存在EIP/RIP内,回调处理完如果不改变EIP/RIP就会继续在断点处执行又会被断下来循环(所谓卡死)
3,要改变EIP/RIP(往前跳最少4字节执行代码)那跳过的这些指令要自行在回调里补全,或者在回调中改变断点位置,在新位置断下来再改回来
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 5 天

 楼主| 发表于 昨天 19:28 | 显示全部楼层   山东省青岛市
dnxl 发表于 2025-8-8 15:45
就比如我要拦截MessageBoxA

先看看函数头指令

感谢您的解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表