挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
游戏交易就上寄售网-专注稳定-诚信赢天下玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)天下盾/国内/免实名/免备案CDN无视一切CC/DD攻击
→入驻S9企业发卡网各种全黑号辅助群:475351077 ██【我要租此广告位】██.
.. .
查看: 9963|回复: 25
打印 上一主题 下一主题

[图文教程] 笑傲江湖选怪CALL分析过程

[复制链接]

4万

积分

621

主题

168

听众
已帮网友解决4 个问题
好评
1010
贡献
47478
海币
3768
交易币
2000

最佳新人活跃会员开荒者原创大师推广达人沙发王侦察队队长宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老在线王源码大师终身成就杰出贡献机器王评分大师回帖大师CM制造者CM杀手艺术大师签到达人土豪知识库

QQ
跳转到指定楼层
楼主
发表于 2014-5-24 11:08:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


分析入手:从TAB选怪开始,进入游戏 bp send 马上进入游戏 tab选怪,被断下后,复制堆栈里的返回
=======================================================================================
/CALL 到send 来自 xajh.00B9082A
0012F094  0000012C  ,_..  |Socket = 12C
0012F098  01157736  6w__  |Data = xajh.01157736
0012F09C  00000001  _...  |DataSize = 1
0012F0A0  00000000  ....  \Flags = 0
0012F0CC  0012F0F4  麴_.   指向下一个 SEH 记录的指针
0012F0D0  00FE5AC0  繸?    SE处理程序
0012F0D4  00000001  _...
0012F0D8  00B908C0  ??    返回到 xajh.00B908C0 来自 xajh.00B90790
0012F0EC  0950E03C  <郟.
0012F100  00B9093B  ;.?   返回到 xajh.00B9093B 来自 xajh.00B90870
0012F114  00B91CA3  ??    返回到 xajh.00B91CA3 来自 xajh.00B908F0
0012F158  0012F334  4?.   指向下一个 SEH 记录的指针
0012F15C  00FE5C18  _\?   SE处理程序
0012F160  00000000  ....
0012F164  00B88BC2  聥?    返回到 xajh.00B88BC2 来自 xajh.00B91B60
0012F1E0  76B14E7B  {N眝   返回到 WINMM.76B14E7B 来自 WINMM.76B14E82
一条一条分析判断 发现 到 返回到 xajh.00B88BC2 来自 xajh.00B91B60 这条时候
上面有2个CALL,在这2个CALL处下断点,进入游戏做选怪动作,看是否会被断下,发现会被断下,那么这2个CALL有可能是选怪CALL,或者跟选怪CALL有密切关系的,因为只有在做选怪动作时候才被断下,
那么我们来分析下这2个CALL的参数,首先我们得明白,选怪CALL肯定有个参数是怪物ID(也就是要被选中的那个怪物ID),
但从下往上数,第1个CALL 发现没有push 之类压入参数的之类,所以先不看这个,来看下上面这个CALL先,
在这下个断点,然后进入游戏 选怪操作,被断下来了,这时候,我们把目光移到寄存器窗口,发现亮了ECX  EBX ESI 这3个寄存器,而这3个寄存器的值又不是很大,
但是看在这个CALL调用之前 好像只有 push esi 没有对 ecx 和 ebx的值有任何操作,那么我们在这个入口下个断点进入游戏选怪断下看看,这个CALL的上一层是什么,
看看会不会有其他什么CALL也是只做选怪才会被断下的,

进入游戏选怪操作后被断下,看堆栈窗口:

我们跟随第一个堆栈返回,到达:

我们下断点后,进入游戏进行操作选怪动作,被断下后
这个CALL调用之前,压入了2个寄存器 edi和esi的值,那么我们把目光放到寄存器窗口,看看这2个寄存器,如果这2个寄存器里有当前被选中的怪物ID,
那么这个CALL也许是可能就是真正的选怪CALL了,但是根据分析过很多数据的经验和心得,我们看见edi寄存器的值01000000 好像并不像是怪物ID,
所以我们要来测试分析下esi寄存器的值是不是怪物的ID,我们记住当前选中的这个怪物和esi的值,先取消选中这个怪物,
我们再次选中这个怪物,如果esi的值是怪物的ID值,
那么esi的值肯定就不会变,因为我们没有换其他怪物选,还是选原来的那个怪物,所以怪物ID是不会变的,
我们发现,esi寄存器的值和edi的值是不会变的,我们换个怪物来选下,看哪个寄存器的值会变,
因为如果换了个怪物选,每个怪物的ID是不一样,肯定寄存器的值就会不一样,
换选怪物后,发现esi寄存器的值变了,而edi的值却没有变,那么edi的值是固定的,可能是个常量或什么标示值吧,我们不管了,
记录下 这次esi的值 0115,
我再前面的 课程里就讲解过,分析CALL除了看参数外,还有一步就是,进行测试调用,是否能达到成功,
那么这个这CALL还是比较简单的,容易写,
整理下:
push edi
push esi
call 00B88B90
既然edi不变,而esi是选中目标怪物的ID,那么我们就直接
push 01000000
push 0115
call 00B88B90
由于这个CALL执行后,游戏做了堆栈平衡操作,所以
add esp,08 平衡2个操作数也是要写上的,如果不写上可能游戏会报错崩溃,好了,我们来测试下,是否能选中这个怪物,测试后发现能选中怪物,而且不报错,那么这时候这个CALL就是100%的
选怪CALL了,
00700B6C |.  57            PUSH EDI                                 ;  01000000=常量
00700B6D |.  56            PUSH ESI                                 ; 000000BD=怪物ID
00700B6E |.  E8 1D804800   CALL xajh.00B8E850                       ;  TAB选怪CALL
00700B73 |.  83C4 08       ADD ESP,8                                ;  到达这

代码测试:

易语言代码编写:






联系我时,请说是在 挂海论坛 上看到的,谢谢!

24.gif (37.15 KB, 下载次数: 5)

24.gif



上一篇:《巨人》打开npc对话框call(含npc数组分析)简易教程
下一篇:CALL的概念篇:堆栈的平衡(一)
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:[email protected]),本站将立即改正。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【好评】和【海币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

38

积分

28

主题

1

听众
已帮网友解决0 个问题
好评
0
贡献
10
海币
1144
交易币
0
沙发
发表于 2014-7-1 18:11:51 | 只看该作者
沙发!沙发!

50

积分

46

主题

2

听众
已帮网友解决0 个问题
好评
0
贡献
4
海币
963
交易币
0
板凳
发表于 2014-7-12 21:37:31 | 只看该作者
当然是要支持了!

60

积分

29

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
31
海币
1987
交易币
0
地板
发表于 2014-7-14 18:04:43 | 只看该作者
嗯~支持一下

23

积分

14

主题

1

听众
已帮网友解决0 个问题
好评
0
贡献
9
海币
449
交易币
0
5#
发表于 2014-7-15 16:57:46 | 只看该作者
帮你顶....
4中级会员
536/600

536

积分

165

主题

7

听众
已帮网友解决0 个问题
好评
0
贡献
371
海币
3255
交易币
0
6#
发表于 2014-7-17 07:25:48 | 只看该作者
感恩无私的分享与奉献 :)

0

积分

0

主题

1

听众
已帮网友解决0 个问题
好评
0
贡献
0
海币
996
交易币
0
7#
发表于 2014-7-19 03:44:17 | 只看该作者
我抢、我抢、我抢沙发~
3正式会员
128/300

128

积分

51

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
77
海币
6699
交易币
0
8#
发表于 2014-12-20 03:01:30 | 只看该作者
一直在看
6高级会员
762/1100

762

积分

246

主题

14

听众
已帮网友解决0 个问题
好评
0
贡献
516
海币
2257
交易币
0
9#
发表于 2014-12-20 20:18:48 | 只看该作者
元芳你怎么看?
3正式会员
184/300

184

积分

118

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
66
海币
2728
交易币
0
10#
发表于 2014-12-26 00:44:40 | 只看该作者
OMG!介是啥东东!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2024-5-18 17:16 , Processed in 0.418355 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表