电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

04授人以鱼不如授人以渔●(send和recv调用与实现CALL篇二)VIP免费

04授人以鱼不如授人以渔●(send和recv调用与实现CALL篇二)_第1页
1/19
04授人以鱼不如授人以渔●(send和recv调用与实现CALL篇二)_第2页
2/19
04授人以鱼不如授人以渔●(send和recv调用与实现CALL篇二)_第3页
3/19
04 授人以鱼不如授人以渔●(send和recv 调用与实现 CALL 篇二) ======================send 函数的调用==================== P: 用模拟器拿到当教程,是因为模拟器比较简单,讲一些原理方面的东西比较好.我们学习的是原理而不是方法,很多人抱怨说模拟器根本就没用,其实不然,模拟器给我们提供了学习原理最好的途径.不要只学习方法,比如说下bp send 然后返回 ,然后就急冲冲的去找游戏里的CALL,这样你会摔的很狠.你要懂得为什么要这样做,游戏是怎么调用的?算法结构如何?系统是怎么调用函数的?等等的一切,等你了解之后自然而然就会恍然大悟,当然一切的基础就是 汇编基础. 上回说了,游戏大部分都是用send 或者是 WSASend 来像服务器发送 数据的.现在封包没有加密的游戏越来越少了,可以说快绝种了,现在存在封包没有加密的游戏有 星尘传说 (最近加入了 心跳包 ) 问鼎 等等 *心跳包 是指 每隔一段时间 像服务器 发送一个数据 . 一般用于 验证 是否掉线 . 因为像心跳一样,每隔一段时间动一次 就比喻为 心跳包. 这个是我们用到的 模拟器 . 一个服务端 一个客户端 封包 没有进行加密 ,今天 我们来找 send CALL 来达到发送 封包的目的. 老样子,打开 OD 载入 下 bp send 点 一下 进入 OD 开始断下 堆栈窗口 显示出 send 的 函数 所需要的参数. 我们打开 MSDN 查一下 send 所需要的参数 (MSDN 是微软 发布的 WINDOWS API 函数的开发手册 里面有所有 函数的解释和细说) send (socket(套接字),封包数据,封包长度,标识) 这个就是 send 函数所用到的 参数了 套接字: 每次跟服务器连接后 都会返回一个 类似于 端口 的一个数字 用来双方互相通信.你可以把它想象成一个通道. 封包数据:就是 发送封包的内容 封包长度:封包内容的长度 标识: 这个无需管他,默认为 0 好了 我们返回一层 就能看到 send 函数了. 按照调用约定 参数 是从 右边开始 压入堆栈的 首先是 标识 0 然后是 大小 接着是 数据内容 最后是 套接数 也就是 socket 我们在 CALL EBP 下断 (按 F2) 然后 运行 起来 点一下 加血 就会断下来 send 相关值 是 套接数 =EC 封包内容 ="jx50" 长度 =4 标识 =0 call 71A24C27 好了 我们用 CALL 注入器 写一个试试 push 40300E 这个是如何来的呢? 因为我们要发一个封包数据 但是 代码注入器 无法给内存写...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

04授人以鱼不如授人以渔●(send和recv调用与实现CALL篇二)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部