关键词不能为空

当前您在: 主页 > 英语 >

秒杀所有网络游戏Call

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:18
tags:

-

2021年2月28日发(作者:9442)


寻找网络游戏中


CALL


的教程



说一说一个简单的找


call


原理



其实游戏中的


call


是有一定规律的,这个规律是什么?




1


、调用之前,必定有


call

< p>
名入栈,什么,不知道如何看堆栈有哪些内容。很简单啊,按


alt



k


就看到了




2


、系统进程空间,一般都可以忽略 ,那么,哪些是系统进程呢,我自己也分不太清,但是


NTDLL



USER32



WS_S32


等一般都是系统进程空间,在


od


的状态栏 上就可以分辨出来。




举个例子:< /p>


ZX


中找死亡回程


call



一、在弄死小号后,先下了



BP SEND


指令,


od

< p>
中断下来,按


ALT



K


,看到的堆栈情况是这


样的:




地址



堆栈



函数过程




参数



调用来自



结构




029FFEC8 00572860 WS2_ elementc.0057285A



029FFECC 000006BC Socket = 6BC



029FFED0 06D1F2A8 Data = 06D1F2A8



029FFED4 00000003 DataSize = 3



029FFED8 00000000 Flags = 0



029FFEE8 00578BE7


包含


elementc.00572860 elementc.00578BE4



029FFEF0 00578827 elementc.00578BB0 elementc.00578822



029FFF38 005785DE



elementc.00578640 elementc.005785D9



029FFF48 00577128


包含


elementc.005785DE elementc.00577125



二、然后

< p>
F9


让游戏正常,再回到游戏中,按下“回城”




三、


od


中 断下来,再按


alt+K


,看到的堆栈是另外一个样子了:




地址



堆栈



函数过程




参数



调用来自



结构




0012F3B4 00581775



elementc.005898B0 elementc.00581770



0012F3C4 00583F75



elementc.00581740 elementc.00583F70



0012F400 005A8CF6



elementc.00583ED0 elementc.005A8CF1



0012F410 0057E701



elementc.005A8CD0 elementc.0057E6FC




0012F420 00509E80 elementc.0057E6C0 elementc.00509E7B



0012F424 006C6527


包含


elementc.00509E80 elementc.006C6524



0012F444 006C647C elementc.006C64B0 elementc.006C6477



0012F45C 006C8F0E


包含


elementc.006C647C elementc.006C8F0B



0012F464 0054A432 elementc.006C8F00 elementc.0054A42D



0012F47C 006C236B


包含


elementc.0054A432 elementc.006C2368



0012F494 006C269B elementc.006C22C0 elementc.006C2696



0012F4E0 006C93AA



elementc.006C2380 elementc.006C93A5



0012F55C 00549BBB



elementc.006C8F50 elementc.00549BB6



四、


如果用


CTRL+F9


跟踪,


很容易发现,


前三个都是在


WS32


系 统进程空间,


所以,



4


个,


做了个标记的那里,就是死亡回程


call





希望大家多 多实践,注意观察。也许我的这个方法有问题,也请提出来大家讨论




























































































OD


寻找


CALL


希望对新手有用



< br>以


50


打坐和普通攻击的


cal l


查找为例。









启动


OD


加 载


50


,进入游戏后,和传统方法一样,


bp send


下断,然后等待游戏断一


次,按


F9


直到游戏正常运行(这里等待断一次主要是为了去掉游戏定时与服务器信 息和其


它信息的干扰)



然后马上回到 游戏,



0


(默认

0


是打坐)



游戏被断下,


连续按


4



ctrl +F9


(通常游戏的前


3


层都是信息函 数等东西,


所以直接到第


4


层啦)



然后按


F8


,< /p>


此时按


alt+k


打开堆栈窗口,如下:




调用堆栈




地址










堆栈










函数例程




参数


























调用来自




















框架



0012F524





004542DB





ElementC.0059E270



















ElementC.004542D6


0012F528





0049959B





ElementC.004542C0























ElementC.00499596


0012F538





005410C4








ElementC.0049959B



















ElementC.005410C1


0012F550





00540E87





ElementC.00540ED0























ElementC.00540E82



1


、有很多行,不过我们只需要关系 第一行就可以了,其它的不用管,记录下


0059E270


,如


果已经知道打坐的


call


地址,


一看就知道我们已经找到了,


不过现在我们架设是第一次找不


知道关键


call


的地址,所以把

< p>
0059E270


记录下来,继续


ctrl+F9



F8


再进入一层,仍然是按


alt+k


,查看堆栈窗口,仍然只记录第一行得到

004542C0,


还是


ctrl+F9,F8,alt+ k


再记录一个


0049959B


,一般 来说游戏的


call


多在


4-6


层中,很少有再深的,而且还有另外的判断方法,


因为单你再使用


ctrl+F9


进入下一层时,出现的


ca ll


就不是单纯的地址了,而是类似


call


[xxxx+xxx]


这样的形式,那么也就说明走过了,所以记录

< p>
3


层就够了。



2


、第一步完成了,此时按


F9


让游戏继续,又 断下来了,不过这个时候不用急着按


ctrl+f9


进入,直接 按一个


alt+k


看看,




调用堆栈




地址










堆栈










函数例程




参数


























调用来自




















框架



035CFEC8





00568A60





WS2_



















ElementC.00568A5A


035CFECC





00000500







Socket = 500


035CFED0





0C622008







Data = 0C622008


035CFED4





0000000D







DataSize = D (13.)


035CFED8





00000000







Flags = 0


035CFEE8





0056DE37








ElementC.00568A60



















ElementC.0056DE34



第一行显示的是



ws2_

< p>


原来是发送函数,


所以不用再进入了,


看一下


CPU


窗口的标


题,


显示的是


CPU



t


线程






0000000xxxx



记一下那个


xxxx


的数字,


直接按


F9


运行游戏,


又断下来了,此时看一下


CPU


窗口的标题, 如果


xxxx


数字一样,说明还是发送函数一类的


东西不用进入(你可以都打开堆栈窗口看看验证下)


,继续按


f9


运行游戏,如果游戏断下来


了而且不是发送函数一 类的就都进入看一下,


和上面的一样记录下地址,


最后直到不再 连续


断,


删除断点,回到游戏,


人物已 经进入打坐状态,


一般简单的操作只会有


1


2


个需要跟


进的断,而复杂的操 作可能多一些,不过如果你从简单的


call


入手,注意观察, 复杂操作的


call


还可以通过总结再去除掉很多无关的断。< /p>



3



第三步,


好了只有三个地址,


而且都没有参数,


直接调用测试吧,


运气不错第一个


0059E270

< p>
就是了。呵呵,没有分析汇编代码找到了打坐的


call



顺便找找取消打坐的


call


吧,仍然


bp send


,然后等游戏断一次 ,按


F9


直到游戏正常,然后


进入游戏 ,用鼠标在其它地方点一下,游戏断了下来,


4



ctrl+f9


后按


f8,alt+k


,直接记录


第一行,




调用堆栈




地址










堆栈










函数例程




参数


























调用来自




















框架



0F19FD88





00466D4C





ElementC.0059E2B0



















ElementC.00466D47


0F19FE2C





00455D8E





ElementC.004668C0



















ElementC.00455D89


0F19FE30





0F19FE7C







Arg1 = 0F19FE7C


0F19FE38





005604D9








ElementC.005604D6


有了经验就不再继续了 ,直接测试


0059E2B0


,果然就是取消打坐。

< p>



顺便说一下,注意上面的



0F19FE2C





00455D8E





ElementC.00455D89


0F19FE30





0F19FE7C







Arg1 = 0F19FE7C


ElementC.00455D8E



















ElementC.004668C0



















这两行,如果是有参数的


call


,就是这 样的形态,这里也就是


call 004668c0


含有一个参数。




普通攻击


call


的找法,和上面的类 似,先选择一个怪,然后切换到


OD



bp send,


等游戏断一


次,按


F 9


直到恢复,然后按数字


1


(普通攻击 默认在


1



,游戏断下,然后同样的方 法,你


可以找到




调用堆栈




地址










堆栈










函数例程




参数


























调用来自




















框架



0F19FDCC





00475F71





ElementC.0059DC30



















ElementC.00475F6C


0F19FDEC





00475B8E





ElementC.00475CE0























ElementC.00475B89

-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:18,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/678833.html

秒杀所有网络游戏Call的相关文章