发布于:2018-5-25 11:44 | 198177次阅读 作者: 外部投稿 | 原作者: 通化程序员
首先我们先确定该游戏的发包函数 send,WSASsend,sendto三大发包函数分别下断,发现只有send函数会断下 而且通过包长和包内容的比较发现是真的发包。
然后我们尝试在send 头部下断,看是否可以返回到功能函数中,来了解该游戏发包的流程以及调用过程。 首先我们先来测试喊话 这是喊话堆栈中的调用
然后我们再来测试下走路 这是走路堆栈中的调用
发现什么没有? 是不是堆栈调用一模一样呢? 在代码中CTRL+F9 返回发现也是一样的效果。 那么得出结论 该游戏是线程发包,发包函数处在一个线程中循环,通过调用关系是没有办法返回到功能函数的。 那么,怎么才能跳出线程循环,来到功能函数以及明文包加密的线程呢? 我们知道这个线程循环只所以能够发包,一定是线程外面给予他要发送的内容才可以的,所以我们只要找包内容的来源即可。 对包内容下写入断。 继续返回
这样 我们就找到了 线程外部的明文封包函数 也可以正常的返回到功能函数了。
来源:通化程序员-公众号投稿 GSLAB网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论