外挂学习之路(4)--- 大海捞针找call "call const"法

bp send 找call法相当流行和实用,然而很多游戏都是发包线程和调用线程不在同一个线程里面,从而导致这个方法只能回溯到循环发包里面,无法再向上回溯,而且在这里模拟调用call总是达不到预想效果,那么有没有其他的找call方式啊,答案是有的,今天说说一种比较笨但是很通用的方法,大海捞针找call法。

先普及一下call的两种分法:间接call和直接call

间接call是指call 后面没有跟直接地址而是跟的变量,比如call eax等等
直接call是指call 后面跟的是直接地址而不是跟的变量,比如call 00402869等等

我们知道我们找call肯定是找的直接call,遇见间接call一般直接跳过,那么能否在所有直接call上面下断点呢,可以的,方式如下

我们都知道在反汇编窗口里面可以右键找汇编命令,我们只需查找所有命令,然后输入 call const就可以找到该模块内所有直接call,注意是该模块内,先找到主进程空间,再找即可,

然后在寻找结果上面给所有结果下断点,接下去排查即可。其实排查也不是那么简单的,这样搜索出来的call一般游戏会有几十万甚至上百万个。

排查思路,

1.      先打开所有断点,去掉所有游戏无任何操作就端下来的断点

2.      在游戏里面随便走一下,去掉所有端下来的断点(假设暂不找和走路相关的call)

3.      进行想找call的功能操作一下,比如嗑药

4.      端下来的一般就是想找的call

 

实践中的困惑和麻烦:

1.      有的断点只要一打开游戏立即死掉,并切这样的断点还不少,不容易排掉这些断点

 

虽然实施上有一定困难,但也是一种思路,解除掉困难即可,先做笔记记录下来吧。



另外,搜索所有间接call就搜索call r32


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值