首页
社区
课程
招聘
求诛仙技能call的查找思路 或者其他游戏的也可以 我只要思路 我看过教程用传送术 但是一小时只能用一次 根本找不到
发表于: 2012-6-21 14:50 7528

求诛仙技能call的查找思路 或者其他游戏的也可以 我只要思路 我看过教程用传送术 但是一小时只能用一次 根本找不到

2012-6-21 14:50
7528
求诛仙技能call的查找思路 或者其他游戏的也可以 我只要思路 我看过教程用传送术 但是一小时只能用一次 根本找不到

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
只要思路,看网上的教程,
2012-6-21 15:45
0
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
网上教程我都看过了 不能用过时了
2012-6-21 15:56
0
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
自己顶起自己顶起自己顶起
2012-6-21 16:27
0
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
自己顶起自己顶起自己顶起
2012-6-21 19:44
0
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
自己顶起自己顶起自己顶起
2012-6-23 18:43
0
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
自己顶起自己顶起自己顶起
2012-6-25 00:50
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
如果会找别的call其实思路都差不多。
思路1:技能 - 应该有技能ID 索引技能文字信息描述 从技能文字信息为入口,用ce检字符或数组 缩小范围定位到技能处理逻辑 - 找到关键技能call

思路2:通过游戏的数据收发机制 跟踪send 函数,(用条件过滤,保证send的是释放技能数据)看函数堆栈反推技能call ,诛仙用这个方法很好用

思路3:先分析游戏的按键,鼠标点击处理机制 顺藤摸瓜找到技能处理逻辑

一般为以上3条路 所有游戏都差不多

刚好分析暗黑3的技能 就是用思路3的方法。你可以试试手

00951850    FF15 1C8B3401   call dword ptr ds:[<&USER32.ClipCursor>] ; USER32.ClipCursor
00951856 >  C705 20AA6201 0>mov dword ptr ds:[0x162AA20],0x0
00951860 >  8B75 08         mov esi,dword ptr ss:[ebp+0x8]
00951863    F606 02         test byte ptr ds:[esi],0x2
00951866    74 42           je short <Diablo_I.loc_9518AA>
00951868    8D55 F8         lea edx,dword ptr ss:[ebp-0x8]
0095186B    52              push edx
0095186C    FF15 FC8A3401   call dword ptr ds:[<&USER32.GetCursorPos>; USER32.GetCursorPos
00951872    8D45 F8         lea eax,dword ptr ss:[ebp-0x8]
00951875    50              push eax
00951876    53              push ebx
00951877    FF15 F48A3401   call dword ptr ds:[<&USER32.ScreenToClie>; USER32.ScreenToClient
0095187D    8B4D F8         mov ecx,dword ptr ss:[ebp-0x8]
00951880    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]
00951883    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
00951886    894D F0         mov dword ptr ss:[ebp-0x10],ecx
00951889    50              push eax
0095188A    8D4D E8         lea ecx,dword ptr ss:[ebp-0x18]
0095188D    51              push ecx
0095188E    8955 F4         mov dword ptr ss:[ebp-0xC],edx
00951891    E8 9AFEFFFF     call <Diablo_I.sub_951730>
00951896    8B10            mov edx,dword ptr ds:[eax]
00951898    8996 20030000   mov dword ptr ds:[esi+0x320],edx         ; 获得鼠标屏幕位置 x
0095189E    8B40 04         mov eax,dword ptr ds:[eax+0x4]
009518A1    83C4 08         add esp,0x8
009518A4    8986 24030000   mov dword ptr ds:[esi+0x324],eax         ; 获得鼠标屏幕位置 y
009518AA >  57              push edi
009518AB    6A 17           push 0x17
009518AD    BF 01000000     mov edi,0x1
009518B2    C745 08 0200000>mov dword ptr ss:[ebp+0x8],0x2
009518B9    FF15 9C8B3401   call dword ptr ds:[<&USER32.GetSystemMet>; USER32.GetSystemMetrics
2012-6-25 12:26
0
游客
登录 | 注册 方可回帖
返回
//