|

提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).
诛仙走路call
下bp send断点返回几次到
00484A07 > \50 push eax ; eax=0EA0FE64; Case E0 of switch 00484986
00484A08 . E8 A3AF0100 call 0049F9B0 ; 鼠标点击对象
进这个call在头部下断,一步步走下函数尾
004A02XF |. D81D 6869BC00 fcomp dword ptr [BC6968]
004A02D5 |. DFE0 fstsw ax
004A02D7 |. F6C4 41 test ah, 41
004A02DA |. 0F85 F4040000 jnz 004A07D4
004A02E0 |. 8B7C24 14 mov edi, dword ptr [esp+14]
004A02E4 |. 6A 01 push 1
004A02E6 |. 8B8F D4150000 mov ecx, dword ptr [edi+15D4] ; edi=基址]+1C]+2C]
004A02EC |. E8 XFDE0000 call 004AE1C0 ; 走路call_1
004A02F1 |. 8BF0 mov esi, eax
004A02F3 |. 8D4424 34 lea eax, dword ptr [esp+34]
004A02F7 |. 50 push eax
004A02F8 |. 6A 00 push 0 ; 0为忽略Z坐标
004A02FA |. 8BCE mov ecx, esi
004A02FC |. E8 6F320100 call 004B3570 ; 走路call_2
004A0301 |. 8D8C24 A40000>lea ecx, dword ptr [esp+A4]
004A0308 |. 8D9424 980000>lea edx, dword ptr [esp+98]
004A030F |. 51 push ecx
004A0310 |. 52 push edx
004A0311 |. 8BCE mov ecx, esi
004A0313 |. E8 88330100 call 004B36A0
004A0318 |. 8B8F D4150000 mov ecx, dword ptr [edi+15D4]
004A031E |. 6A 00 push 0
004A0320 |. 6A 01 push 1
004A0322 |. 56 push esi
004A0323 |. 6A 01 push 1
004A0325 |. E8 C6E30000 call 004AE6F0 ; 走路call_3
004A032A |. 833D 50F7D000>cmp dword ptr [D0F750], 1
004A0331 |. 0F85 9D040000 jnz 004A07D4
mov eax, 0xD0EEC4
mov eax, dword ptr [eax]
mov eax, dword ptr [eax+0x1C]
mov edi, dword ptr [eax+0x2C]
push 1
mov ecx, dword ptr [edi+0x15D4]
mov eax, 0x4AE1C0
call eax
mov esi, eax
lea eax, dword ptr [esp+0x34] // 存放目标坐标的X的首地址
push eax
push 0 // 0为忽略Z坐标
mov ecx, esi
mov eax, 0x4B3570
call eax
mov ecx, dword ptr [edi+0x15D4]
push 0
push 1
push esi
push 1
mov eax, 0x4AE6F0
call eax
// 下面是修改目的地坐标
mov eax, dword ptr ds:[edi+0x15D4]
mov eax, dword ptr ds:[eax+0x30]
mov ecx, dword ptr ds:[eax+0x4]
mov eax, x
mov dword ptr [ecx+0x20], eax
mov eax, z
mov dword ptr [ecx+0x24], eax
mov eax, y
mov dword ptr [ecx+0x28], eax
// 走路call
void CallMouseGotoCoordinates(float x, float y, float z, int Fly)
{
DWORD m_CALL_BASE_ADDR = 0xD0EEC4;
DWORD m_OFFSET_ONE_BASE = 0x1C;
DWORD m_OFFSET_ROLE_BASE = 0x2C;
DWORD m_CALL_WALK_OFFSET = 0x15D4;
DWORD m_CALL_WALK_ADDR_1 = 0x4AE1C0;
DWORD m_CALL_WALK_ADDR_2 = 0x4B3570;
DWORD m_CALL_WALK_ADDR_3 = 0x4AE6F0;
__try
{
__asm
{
mov eax, m_CALL_BASE_ADDR
mov edi, dword ptr [eax]
mov eax, m_OFFSET_ONE_BASE
mov edi, dword ptr [edi+eax]
mov eax, m_OFFSET_ROLE_BASE
mov edi, dword ptr [edi+eax]
push 1
mov eax, m_CALL_WALK_OFFSET
mov ecx, dword ptr [edi+eax]
mov eax, m_CALL_WALK_ADDR_1
call eax
mov esi, eax
lea eax, dword ptr [esp+0x34] // 存放目标坐标的X的首地址
push eax
mov eax, Fly
push eax // 0为忽略Z坐标
mov ecx, esi
mov eax, m_CALL_WALK_ADDR_2
call eax
mov eax, m_CALL_WALK_OFFSET
mov ecx, dword ptr [edi+eax]
push 0
push 1
push esi
push 1
mov eax, m_CALL_WALK_ADDR_3
call eax
// 下面是修改目的地坐标
mov eax, m_CALL_WALK_OFFSET
mov eax, dword ptr ds:[edi+eax]
mov eax, dword ptr ds:[eax+0x30]
mov ecx, dword ptr ds:[eax+0x4]
mov eax, x
mov dword ptr [ecx+0x20], eax
mov eax, z
mov dword ptr [ecx+0x24], eax
mov eax, y
mov dword ptr [ecx+0x28], eax
}
}
__except(1){}
}
再发个易的
.版本 2
.子程序 寻路call
.参数 目的地X坐标, 小数型, , 只能为小数型
.参数 目的地Y坐标, 小数型, , 只能为小数型
.参数 MapID, 整数型
.如果真 (dwPID ≠ 0)
汇编 (“mov ebx, 00D21430”)
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地X坐标), #整数型, ))) ' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr [ebx], eax”)
汇编 (“mov esi, 4”)
汇编 (“mov dword ptr [ebx+esi], 0”) ' 地图ID
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地Y坐标), #整数型, )))
汇编 (“mov esi, 8”)
汇编 (“mov dword ptr [ebx+esi], eax”)
汇编 (“mov eax, 00D0EEC4”)
汇编 (“mov eax, dword ptr [eax]”)
汇编 (“mov edi, 1C”)
汇编 (“mov eax, dword ptr [eax+edi]”)
汇编 (“mov edi, 2C”)
汇编 (“mov eax, dword ptr [eax+edi]”)
汇编 (“mov edi, 3C”)
汇编 (“lea edx, dword ptr [eax+edi]”)
汇编 (“push 0”)
汇编 (“push 0” + 十到十六 (MapID))
汇编 (“push 00D21430”)
汇编 (“push edx”)
汇编 (“mov ecx, 00D0EE60”)
汇编 (“mov eax, 004458D0”)
汇编 (“call eax”)
调用汇编 (dwPID) ' 如果是DLL中使用可以不使用这句调用汇编,不使用这句的话,默认不使用远程调用call
.如果真结束
.子程序 走路call
.参数 目的地X坐标, 小数型, , 只能为小数型
.参数 目的地Y坐标, 小数型, , 只能为小数型
.参数 目的地Z坐标, 小数型, , 只能为小数型
.参数 Fly, 整数型
.如果真 (dwPID ≠ 0)
汇编 (“mov eax, 00D0EEC4”)
汇编 (“mov edi, dword ptr [eax]”)
汇编 (“mov eax, 1C”)
汇编 (“mov edi, dword ptr [edi+eax]”)
汇编 (“mov eax, 2C”)
汇编 (“mov edi, dword ptr [edi+eax]”)
汇编 (“push 1”)
汇编 (“mov eax, 15D4”)
汇编 (“mov ecx, dword ptr [edi+eax]”)
汇编 (“mov eax, 004AE1C0”)
汇编 (“call eax”)
汇编 (“mov esi, eax”)
汇编 (“mov eax, 34”)
汇编 (“lea eax, dword ptr [esp+eax]”) ' // 存放目的地坐标X的首地址
汇编 (“push eax”)
汇编 (“mov eax, 0”)
汇编 (“push eax”) ' // 0为忽略Z坐标
汇编 (“mov ecx, esi”)
汇编 (“mov eax, 004B3570”)
汇编 (“call eax”)
汇编 (“mov eax, 15D4”)
汇编 (“mov ecx, dword ptr [edi+eax]”)
汇编 (“push 0”)
汇编 (“push 1”)
汇编 (“push esi”)
汇编 (“push 1”)
汇编 (“mov eax, 4AE6F0”)
汇编 (“call eax”)
' // 下面是修改目的地坐标
汇编 (“mov eax, 15D4”)
汇编 (“mov edi, dword ptr ds:[edi+eax]”)
汇编 (“mov eax, 30”)
汇编 (“mov edi, dword ptr ds:[edi+eax]”)
汇编 (“mov eax, 4”)
汇编 (“mov ecx, dword ptr ds:[edi+eax]”)
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地X坐标), #整数型, ))) ' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr [ecx+0x20], eax”)
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地Z坐标), #整数型, ))) ' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr [ecx+0x24], eax”)
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地Y坐标), #整数型, ))) ' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr [ecx+0x28], eax”)
调用汇编 (dwPID)
.如果真结束
我个人写的模块
清风模块.rar
(279.93 KB, 下载次数: 14)
这个走路call在上个寻路call第二天就找出来了,只是太忙就没时间发上来,希望给有用的人一点点帮助
联系我时,请说是在 挂海论坛 上看到的,谢谢! |
上一篇: 幻灵收包解密代码还原c++ 脱机下一篇: 诛仙打开各种窗口call
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。
2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。
|