目标:游戏找CALL练习实例ONE

本文通过实例讲解如何使用OD调试模拟器中的CALL指令,寻找并理解游戏发送数据包的API函数send的调用过程,涉及汇编、API调用、堆栈窗口分析等技巧,以帮助读者掌握游戏外挂的制作原理。
摘要由CSDN通过智能技术生成


目标:游戏找CALL练习实例ONE
记:看这篇找CALL文章,并不是说要学会它的操作步骤,而是学会找步骤的原理,只有懂得原理,才算真正会了.不要因为模拟器的简单 而忽略这篇文章,也不要因为曾经写过这个模拟器的挂 而忽略这篇文章.希望这篇文章能给你带来帮助.




这是一位大牛做的模拟器器,今天就来找这个 模拟器的CALL

用OD 加载 模拟器

然后按F9 运行

下bp send 断点




P:为什么要下 send 断点?

*send 是微软提供的一个API 函数,可以用来发送数据包. 绝大部分游戏都是用这个函数来发包的,其他还有 WSASend sendto WSASendto == send对应的收包函数是 recv WSASend对应的收包函数是 WSARecv


下段 后 这里按 ALT+B 会显示 已经下段的 地址




*当你暂时不想断下来 而又不想删掉 就可以 按 空格 来禁止.

断下来后,我们点下 模拟器的 加血 按钮 OD立马就断了下来




*标题显示 模块- ws2_32 表明 我们还在系统领空
*游戏发送数据包是调用send函数 发送的,掉用以后 程序告诉系统 我要发包了,然后系统就开发发送封包,这个时候断下来后 我们就在 系统发送完封包 后.


按 CTRL+F9 返回

P:为什么要用 CTRL+F9 返回?而不是 前进?

*程序是 一层套着一层的,就像一个箱子 里面 包含一个箱子 ,而里面的箱子里又有一个箱子.而我们断的send 就是在最里面的箱子,所以我们需要返回到 我们所需要的代码层.








我们来看下 堆栈窗口

这里 第一行是 CALL
第二行到第五行 是 CALL的 参数
写成函数就是 send(soket,data,datasize,flags)

这个就是 系统send所需要的参数
DATA 这里存放着 send发送的封包内容
DATASIZE 表示 封包的大小




从MSDN查看一下 函数的参数 我们会 发现 他的参数 跟我们刚刚反汇编的一样.





  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值