看流星社区

 找回密码
 注册账号
查看: 4581|回复: 2

DNF详解HOOK的原理 转

[复制链接]

该用户从未签到

发表于 2011-11-29 09:35:50 | 显示全部楼层 |阅读模式
一直一来都在写DNF的智辅。最近监测力度加强导致很多做挂的朋友都被打击。注入三方。物品CALL等都被和谐。但是HOOK还是非常稳定的
简单说下HOOK的一些原理吧HOOK:我称之为拦截修改。华丽的说是:偷梁换柱。意思是说,取出重要的部分,修改成我需要的。
例如HOOK任意消耗改人偶。取出重要部分(物品代码)换成物品call中的人偶代码,这就称为了HOOK
简单的说下技能HOOK吧。

一、通用型的:
PUSH +技能ID形式 例如  68 304E0000     push 4E30 银光闪落
分析结构可知特征码 push 对应的是68  304E0000对应的是4E30 简单说就是 把4E30拆分为 4E 和 30 两个部分 然后互换位置 即 304E
然后和68结合 可以得到 68 304E 后面的4个0纯粹是为了存放技能ID 所以可以认为是 68 304E0000
这类的HOOK比较简单
OD附加之后直接Ctlr+B搜索特征码(例如68 304E0000) 下断调试 或不调试
调试看伤害 我这里不说了。 如果不调试怎么看?其实不调试也可以看的
举个简单的例子
00908032    50              push eax
00908033    68 304E0000     push 4E30

好的 这个是银光闪落的附近的数据 我自己发现 技能ID上面push的寄存器 都和这个技能有莫大的关系(猜测可能为技能的伤害、范围、等级、发动技能的坐标等等) 慢慢实验即可
如果一点耐心都没有的话 我相信不可能学会吧。

二、非通用型的
这个相对比较麻烦了。不过也可以找到的。
这个提供思路,有兴趣的去跟下。
1、根据已知道的技能代码搜索当前技能的内存地址,寻找传递的指针。
2、在OD里面跳转到指针的地址 下断调试

其实HOOK已经达到很稳定。只不过写入的空白内存有无检测罢了。而且HOOK是多重操作性的

该用户从未签到

发表于 2011-11-29 09:54:33 | 显示全部楼层
  转帖。请说明

该用户从未签到

发表于 2011-11-29 09:55:00 | 显示全部楼层
是我错了
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-28 06:27

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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