好文档 - 专业文书写作范文服务资料分享网站

VIP专享07授人以鱼不如授人以渔(HOOK API的概念及应用 HOOK篇一)

天下 分享 时间: 加入收藏 我要投稿 点赞

HOOK的方法有很多种,但万变不离其中~

07授人以鱼不如授人以渔●(HOOK API的概念及应用 HOOK篇一)

HOOK的原理:修改函数的首地址 跳转到你想执行的代码 然后返回。

HOOK的方法有很多,修改CALL的代码 跳转到我们的程序 执行完我们的代码后,复原CALL 然后在调用。

或者直接在 函数头跳转。

此次的目标还是前几天我们用到的模拟器

前言:让程序按照自己的代码来走,这是个很有意思的事情。 HOOK 其实是一个很有意思的东西,他能让你在枯燥的外挂学习中感受到一丝乐趣

这就好比正常的程序 就像一个汽车 在公路上行驶(代码正常运行) ,而这个时候 警察 在半路设下了一个路障(修改原始地址 JMP 我们的代码地址) ,要求 汽车靠边停靠(修改原始程序代码,JMP 地址 跳转到我们的代码区),这个时候 汽车 过来了,看到路障 并且停靠在右边(跳转到我们的代码区了) 并且接受检查(执行我们的代码),恢复路面(将修改的代码复原),检查完毕后 (比如说代码执行了 数据拷贝,或者一些特殊功能 比如说send 恢复代码后 可以直接执行,也可以拦截不发也可以修改数据 在发送。),汽车继续行驶。

封包助手 是一款类似于 WPE 截包的软件,今天我们来看看他是如何HOOK send 封包函数的.

我们先来看一下 正常的 send 函数头部 . 按下CTRL+G 输入 send 回车 (打开OD第一次需要找2次应该是OD BUG)

好了 跳转到如下地址

然后我们来看下 用封包助手 加载程序后代码的变化

mov edi,edi push ebp push ebp,esp

设置路障)

这三句话 修改成了

JMP PACKASSI.13148F88

这句汇编指令的意思就是 强行跳转到 13148f88 这个地址去 (开始

好了 我们下 bp send 然后 按模拟器 进入或 加血 让程序 断下

然后 按F8 单步运行, 这个时候 强行跳转到了 封包助手 设置的位

置.(汽车靠边了)

这里就是我们跳转的地方了.也就是说 封包助手处理 数据的地方.

这里有3个CALL 我们来看看 都有什么功能.

我们进入第一个CALL里面 看到 OD 分析出几个CALL的函数

getsockname() 获取一个套接口的IP和端口 ntoa() 将网络IP地址转换\格式的字符串形式

ntohs() 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。

VIP专享07授人以鱼不如授人以渔(HOOK API的概念及应用 HOOK篇一)

HOOK的方法有很多种,但万变不离其中~07授人以鱼不如授人以渔●(HOOKAPI的概念及应用HOOK篇一)HOOK的原理:修改函数的首地址跳转到你想执行的代码然后返回。HOOK的方法有很多,修改CALL的代码跳转到我们的程序执行完我们的代码后,复原CALL然后在调用。或者直接在函数头跳转。此次的目
推荐度:
点击下载文档文档为doc格式
45o222u0ow6i8ss1c8w102tjb2iy3i014ko
领取福利

微信扫码领取福利

微信扫码分享