我们知道,武林大部分CALL都能下bp send用 CTRL+F9 返回找到.但是为何这样就会找到我们想要的东西呢?send大家都应该知道是发包函数,是作用于客户端与服务端通信.
我们来思考一下.完美游戏的运行过程.比如说打坐.
游戏有一个子程序专门用于接受用户鼠标或者键盘信息,然后做出判断,跳转到相关CALL,执行动作,组建明文包,加密明文包,发送加密包,然后做内存释放等余下动作.
从这里我们可以看出,bp send 我们是断在了发送加密包这里.而我们调用的CALL则是 执行动作或者跳转的相关CALL中.这个就是完美国际的打坐CALL的运行思路.
这个是根据反汇编代码猜测出来的.但如果我们第一次找的话那么该如何知道这个过程呢?
其实谁都不知道.除非你看过源代码.这个就要我们去猜测了.
既然是猜测的话,也是有技巧的,比如说有些游戏下bp send 返回 只有3层,核心代码层肯定不会在这3层中,其实这里的send 应该说被创建成一个线程,来查询是否需要发包.
而不是从执行动作和发送封包,放到一个结构里.
那么我们该如何找这个CALL呢?
这里思路很重要,但决定思路的就是你的想法,你对程序运行的过程猜测的想法越接近游戏编程人员,那么你就能找到你想要的CALL.
比如说寻路CALL
为何武林寻路CALL一般不能用CTRL+F9返回找呢?
一般CTRL+F9找到的 寻路都是那种 走一步断一次的CALL,而真正的寻路则是调用一次断一次.
这样我们可以想象游戏的走路运行过程是这样的
计算走路路径.也就是走路算法.然后一个子程序调用走路函数 发送寻路路径中每一个坐标,走到目的地终止.
为何很多新手会找武林的CALL但换一个游戏却不行了呢?
那是因为很多人都没有思考过为何这样就能找到CALL,换一个游戏发送bp send返回 找不到一个CALL,或者 只有3层的时候 估计都会傻眼吧.
并不是所有游戏都是一个引擎做的,不是所有的游戏都是一个结构写成的.只有清楚游戏编程人员的程序算法结构思路,才能正确的找到你想要的.
这一点和破解很相似,你要猜测程序员是如何构建这个注册算法的.
找CALL也是逆向的一种.你要学会思考,学会猜测程序员的想法.猜测游戏的结构算法.
阅读(1788) | 评论(0) | 转发(0) |