用OD查找喊话CALL的过程

调用的代码地址在这里:
004BF823    |.    56              push      esi                                ; /Arg2
004BF824    |.    50              push      eax                                ; |Arg1
004BF825    |.    E8 A6F60B00    call      0057EED0                          ; /elementc.0057EED0


Arg2是喊话的内容
Arg1是喊话的类型

call      0057EED0    //这个就是CALL的地址


类型暂时找到如下(没灵犀暂时不试世界频道的类型了):
924100是当前频道
924102是组队频道

======================================================================

下面是用OD查找的过程:
用OD打开进程以后登录人物跑到一个空地,确保一切正常以后回OD下断(bp send)
测试了一下就算什么都不操作,OD也会每隔几秒断到一次send

乘这个基本固定时间中断的一次结束以后在聊天窗口里打句话发送,OD成功断下
断在007682A6(WS2_32.send)上面
(打bp send当然是断在send上面啦,然后层层退出去找我们要的)

敲一次ctrl+F9,地址转到了0058446E
00584459    |.    8B0D ACCB9000 mov      ecx, dword ptr [90CBAC]
0058445F    |.    6A 00          push      0                                  ; /Flags = 0
00584461    |.    6A 01          push      1                                  ; |DataSize = 1
00584463    |.    68 E8399000    push      009039E8                          ; |Data = elementc.009039E8
00584468    |.    51              push      ecx                                ; |Socket => FC
00584469    |.    E8 383E1E00    call      <jmp.&WS2_32.#19>                  ; /send
0058446E    |.    EB 07          jmp      short 00584477                    ;    第一次跳出来的地方,上面一行就是send的调用

4个参数OD都帮我们注释清楚了,还不明白可以找windows socket相关的文章来看看send的调用

再敲一次ctrl+F9,回到再上层调用地址
0057C6C5

再按ctrl+F9退一层,就到了004BF82A,而这行的上三行,就是最终找到的喊话call的调用
004BF823    |.    56              push      esi                                ; /Arg2
004BF824    |.    50              push      eax                                ; |Arg1
004BF825    |.    E8 A6F60B00    call      0057EED0                          ; /elementc.0057EED0
004BF82A    |.    8D8D D0FAFFFF lea      ecx, dword ptr [ebp-530]


怎么确定的? 部分是猜测,部分是参考了http://www.ghoffice.com/bbs/read.php?tid-37847-fpage-0-toread--page-2.html这个帖子里奇才贴的代码,事先知道了喊话call是2个参数的,省了不少麻烦。

地址换版本变了,不过还是找出来了。

取消send的断点,然后
在004BF825上按F2下断,验证一下.
聊天窗口里喊1234567,成功断在004BF825

此时寄存器里数据为:
EAX 00924100 elementc.00924100
ECX 033B1C68
EDX 0C3C6BFC UNICODE "123567"
EBX 066CF6E0
ESP 0012E6DC
EBP 0012F420
ESI 0C3C6BFC UNICODE "123567"
EDI 00000002
EIP 004BF825 elementc.004BF825

注意这2个
ESI 0C3C6BFC UNICODE "123567"
EAX 00924100 elementc.00924100

一切尽在不言中了。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值