注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风雨夜归人

专业收集资料,个人爱好!

 
 
 

日志

 
 

找游戏关键CALL入门----cooltools主讲  

2009-05-10 22:09:39|  分类: 外挂学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

用OD启动游戏

为了实习找死亡回城函数,大家建个小号,先弄死它

我们转回OD

在OD的左下角可以打入命令 bp send 回车

之后立即回到游戏,点游戏里的<回到附近城市>,

这时OD断在71A2428A >  8BFF            MOV EDI,EDI

这是发包函数的入口,属于ws2_32.dll的一个函数

游戏是要和服务器保持连接的。你一打bpsend 就断了那不是断到回城的调用上

一直接f9直到游戏正常

按过返城后,那个断才有用!

71A2428A >  8BFF            MOV EDI,EDI

断到这后,按ctrl+f9 就执行到这个函数的末尾

71A24310    C2 1000        RETN 10

执行到这

再按f8就回到了函数主体中

005706C9  |.  8B0D 4CEC8C00 MOV ECX,DWORD PTR DS:[8CEC4C]

005706CF  |.  6A 00        PUSH 0                                  ; /Flags =

0005706D1 |.  6A 01        PUSH 1                                  ; |DataSize = 1

005706D3  |.  68 005A8C00  PUSH elementc.008C5A00                  ; |Data = elementc.008C5A00

005706D8  |.  51            PUSH ECX                                ; |Socket =>100

005706D9  |.  E8 28031D00  CALL <JMP.&WS2_32.#19>                  ; \send

005706DE  |.  EB 07        JMP SHORT elementc.005706E7在这里

005706D9  |.  E8 28031D00  CALL <JMP.&WS2_32.#19>                  ; \send从这里看到,这就是调用send 参数有四个

其它有两个比较重要,一个是datasize 一个是data

这两个一个是包长,一个是包首地址

Data = elementc.008C5A00

这里的data大家可以跟一下,恳定是加密的数据,一般没什么规律的。

然后继续ctrl+f9 又执行到末尾 00570721  \.  C2 0C00      RETN 0C

再f8就回到上一层调用

(不死游戏也可以下断。但是断后,往回找,是找不到有用的东西的)

按f800568825  |.  8B5424 08    MOV EDX,DWORD PTR SS:[ESP+8]

00568829  |.  52            PUSH EDX                                ; /Arg3

0056882A  |.  8B5424 08    MOV EDX,DWORD PTR SS:[ESP+8]            ; |

0056882E  |.  52            PUSH EDX                                ; |Arg2

0056882F  |.  50            PUSH EAX                                ; |Arg1

00568830  |.  E8 2B7D0000  CALL elementc.00570560                  ; \elementc.00570560

00568835  |.  C2 0800      RETN 8

回到这样一个调用 有三个参数 这三个参数不知道是什么,

要想看,就需要在00568830  |.  E8 2B7D0000  CALL elementc.00570560      ;\elementc.00570560去下断。

因为现在游戏已经停了。要按f9才能继续

50的游戏有个事,就是OD停了过久,就会当掉。所以我们不按f9继续ctrl+f9 再按f8

停在0058CB46  |.  A1 44638C00  MOV EAX,DWORD PTR DS:[8C6344]

0058CB4B  |.  6A 02        PUSH 2                                  ; /Arg2 =00000002

0058CB4D  |.  56            PUSH ESI                                ; |Arg1

0058CB4E  |.  8B48 20      MOV ECX,DWORD PTR DS:[EAX+20]            ; |

0058CB51  |.  E8 0AE1FDFF  CALL elementc.0056AC60                  ;\elementc.0056AC60

0058CB56  |.  56            PUSH ESI

这里大家可以发现,有一个相当熟悉的 地址 是的8C6344这就是目前50的一级基址

CALL elementc.0056AC60 从这个函数看来,是一个可以调用的函数了

它有三个参数,两个是显示的,一个是隐式的 隐式的是ecx ecx=[一级base]+20 取值

这个函数先分析到这。我们继续按ctrl+f9 ,再按f8

00565C56  |.  C700 00000000 MOV DWORD PTR DS:[EAX],0

00565C5C  |.  E8 CF6E0200  CALL elementc.0058CB30

00565C61  |>  83C4 0C      ADD ESP,0C

这个调用更简单了。 给eax附值0,并调用.0058CB30

可以试着调用一下。也许这个就是死亡回城函数

刚才的断点有作记录吧

重新启动游戏后,可以直接断在刚才分析的地方了。就可以进行分析了

所有的函数操作,都是这个找法 经过一定的动作分析后,发现停在

0058CB46  |.  A1 44638C00  MOV EAX,DWORD PTR DS:[8C6344]

0058CB4B  |.  6A 02        PUSH 2                                  ;/Arg2=00000002

0058CB4D  |.  56            PUSH ESI                                ; |Arg1

0058CB4E  |.  8B48 20      MOV ECX,DWORD PTR DS:[EAX+20]            ; |

0058CB51  |.  E8 0AE1FDFF  CALL elementc.0056AC60                  ; \elementc.0056AC60

0058CB56  |.  56            PUSH ESI明文发包函数

0012F400  10FC4450  |Arg1 = 10FC4450

0012F404  00000002  \Arg2 = 00000002看明文发包,死亡回城就里的参数是上面这样的 10FC4450数据区里的数 是10FC4450  04 00  

说明给明文发包函数传 0400 这个命令就可以死亡回城了                                          (记录失败的话)你可以断在0058CB30这里。继续ctrl+f9 ,f8回到上一城

回到上一层,是这样的一个函数

004FB000  .  E8 BBB5FAFF  CALL elementc.004A65C0

004FB005  .  8D88 EC000000 LEA ECX,DWORD PTR DS:[EAX+EC]

004FB00B  .  E8 10AC0600  CALL elementc.00565C20这个便是我们最终找到的死亡回城函数了

00466707  |.  8B4C24 2C    MOV ECX,DWORD PTR SS:[ESP+2C]

046670B  |.  51            PUSH ECX

0046670C  |.  50            PUSH EAX

0046670D  |.  E8 4E791200  CALL elementc.0058E060买东西了。

07BE2BA8  BD 06 00 00 00 00 00 00 10 00 00 00              ?..........发送数据为物类别ID,在NPC中格子的位置 数量

要买卖东西 ,要熟知包果中的物品的位置,类加ID,和数量

买东西,要知道NPC中包的物品类别ID,位置,和购买数量

  评论这张
 
阅读(407)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017