追逐自己的梦想----------辅助制作第二十八课:打开系统NPC CALL分析

本文通过分析游戏客户端代码,探讨了如何找到打开NPC对话的系统调用。作者列举了多个可能涉及打开NPC对话的CALL,并通过测试逐一排除,最终确定了两个有效调用。这些调用可用于辅助制作,实现与NPC交互的功能。
摘要由CSDN通过智能技术生成
分析思路:
1.打开NPC对话时,一般会访问NPC对象,可以用CE尝试找出对NPC对象访问的代码,然后回溯
2.打开NPC对话是 可能会与服务器通讯,可以尝试发包函数处下断电回溯



dd [31DBEAC]   玩家对象   +8 == 31 
+0c  [31DBEB0]de xiabiao
+18  玩家名字
+14b8 0xffff   未选中怪物,选中时为所有对象ID


004EC90C    74 1B           JE SHORT Client.004EC929
004EC90E    8B0C85 B0BE1D03 MOV ECX,DWORD PTR DS:[EAX*4+31DBEB0]
004EC915    85C9            TEST ECX,ECX
004EC917    74 10           JE SHORT Client.004EC929
004EC919    8B11            MOV EDX,DWORD PTR DS:[ECX]

所以最后的对象为 [31DBEB0 + 4 * [[31DBEAC] + 1BB8] ]

下面我们先来测试这个对不对,能否获取到选中的对象

004D02B8 - 81 FA 0F270000 - cmp edx,0000270F
004D02BE - 0F87 C8000000 - ja Client.exe+D038C
004D02C4 - 8B 0C 95 B0BE1D03  - mov ecx,[edx*4+Client.exe+2DDBEB0] <<1
004D02CB - 85 C9  - test ecx,ecx
004D02CD - 0F84 B9000000 - je Client.exe+D038C

经过测试 1 的call失败
mov edi, [31DBEAC]
MOV EAX,DWORD PTR DS:[EDI+14B8]
push eax
mov ecx, edi
CALL 004D02B0


返回到上层call下断点  一直被断下,所以这个call被排除

****************************************************************************************


004E8A59 - E8 021A1100 - call Client.exe+1FA460
004E8A5E - 8B 97 B8140000  - mov edx,[edi+000014B8]
004E8A64 - 8B 04 95 B0BE1D03  - mov eax,[edx*4+Client.exe+2DDBEB0] <<2
004E8A6B - 85 C0  - test eax,eax
004E8A6D - 74 4A - je Client.exe+E8AB9

返回到了与第一个call相同的上层call,同样是一直被断下,所以这个地址被排除

*************************
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程主要以口袋西游为例,学习一个网络游戏是怎么通过游戏服务器与玩家客户端进行通信交互的,通过OD,CE等工具对游戏进行调试,到各个数据基址(例如角色基址,背包基址等),出游戏里面的功能CALL(例如寻路CALL,打坐CALL等)及参数分析,并且编码实现功能。本程可以带领你游戏逆向入门可以学会 CE,OD,游戏基址,功能CALL等实现变态功能可以更深入的理解从高级语言到汇编语言的一个对应过程可以学会 逆向软件  外挂与反外挂 破解防破解  游戏安全的基础知识可以为以后的及逆向高级程 打下良好的基础可以自己分析游戏数据,用C语言实现游戏外挂功能等重点:  本套程的重点就是带领大家分析游戏数据,毫不客气的说,各位学完此套程对分析游戏数据这块会有一个质的飞跃。程目录  01.程简介及功能演示  02.CE人物基址及人物属性偏移  03.OD人物基址及人物属性偏移  04.创建MFC DLL项目  05.代码实现输出人物信息  06.发包函数概述  07.怎么看待重写的发包函数  08.普通发包与线程发包  09.打坐CALL及参数分析  10.代码实现打坐CALL  11.喊话CALL及参数分析  12.代码实现喊话CALL  13.寻路CALL及参数分析  14.代码编写寻路CALL  15.穿装备CALL及参数分析  16.代码实现穿装备CALL  17.NPC对话CALL  18.代码实现NPC对话CALL  19.唤出宠物  20.宠物合体  21.收回宠物  22.取下宠物
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值