诛仙走路call + 清风模块.rar
诛仙走路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
004A02D5|.DFE0 fstsw ax
004A02D7|.F6C4 41 test ah, 41
004A02DA|.0F85 F4040000 jnz 004A07D4
004A02E0|.8B7C24 14 mov edi, dword ptr
004A02E4|.6A 01 push 1
004A02E6|.8B8F D4150000 mov ecx, dword ptr ;edi=基址]+1C]+2C]
004A02EC|.E8 XFDE0000 call 004AE1C0 ;走路call_1
004A02F1|.8BF0 mov esi, eax
004A02F3|.8D4424 34 lea eax, dword ptr
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
004A0308|.8D9424 980000>lea edx, dword ptr
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
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 , 1
004A0331|.0F85 9D040000 jnz 004A07D4
mov eax, 0xD0EEC4
mov eax, dword ptr
mov eax, dword ptr
mov edi, dword ptr
push 1
mov ecx, dword ptr
mov eax, 0x4AE1C0
call eax
mov esi, eax
lea eax, dword ptr // 存放目标坐标的X的首地址
push eax
push 0 // 0为忽略Z坐标
mov ecx, esi
mov eax, 0x4B3570
call eax
mov ecx, dword ptr
push 0
push 1
push esi
push 1
mov eax, 0x4AE6F0
call eax
// 下面是修改目的地坐标
mov eax, dword ptr ds:
mov eax, dword ptr ds:
mov ecx, dword ptr ds:
mov eax, x
mov dword ptr , eax
mov eax, z
mov dword ptr , eax
mov eax, y
mov dword ptr , 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
mov eax, m_OFFSET_ONE_BASE
mov edi, dword ptr
mov eax, m_OFFSET_ROLE_BASE
mov edi, dword ptr
push 1
mov eax, m_CALL_WALK_OFFSET
mov ecx, dword ptr
mov eax, m_CALL_WALK_ADDR_1
call eax
mov esi, eax
lea eax, dword ptr // 存放目标坐标的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
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:
mov eax, dword ptr ds:
mov ecx, dword ptr ds:
mov eax, x
mov dword ptr , eax
mov eax, z
mov dword ptr , eax
mov eax, y
mov dword ptr , eax
}
}
__except(1){}
}
再发个易的
.版本 2
.子程序 寻路call
.参数 目的地X坐标, 小数型, , 只能为小数型
.参数 目的地Y坐标, 小数型, , 只能为小数型
.参数 MapID, 整数型
.如果真 (dwPID ≠ 0)
汇编 (“mov ebx, 00D21430”)
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地X坐标), #整数型, )))' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr , eax”)
汇编 (“mov esi, 4”)
汇编 (“mov dword ptr , 0”)' 地图ID
汇编 (“mov eax, 0” + 十到十六 (取字节集数据 (到字节集 (目的地Y坐标), #整数型, )))
汇编 (“mov esi, 8”)
汇编 (“mov dword ptr , eax”)
汇编 (“mov eax, 00D0EEC4”)
汇编 (“mov eax, dword ptr ”)
汇编 (“mov edi, 1C”)
汇编 (“mov eax, dword ptr ”)
汇编 (“mov edi, 2C”)
汇编 (“mov eax, dword ptr ”)
汇编 (“mov edi, 3C”)
汇编 (“lea edx, dword ptr ”)
汇编 (“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 ”)
汇编 (“mov eax, 1C”)
汇编 (“mov edi, dword ptr ”)
汇编 (“mov eax, 2C”)
汇编 (“mov edi, dword ptr ”)
汇编 (“push 1”)
汇编 (“mov eax, 15D4”)
汇编 (“mov ecx, dword ptr ”)
汇编 (“mov eax, 004AE1C0”)
汇编 (“call eax”)
汇编 (“mov esi, eax”)
汇编 (“mov eax, 34”)
汇编 (“lea eax, dword ptr ”)' // 存放目的地坐标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 ”)
汇编 (“push 0”)
汇编 (“push 1”)
汇编 (“push esi”)
汇编 (“push 1”)
汇编 (“mov eax, 4AE6F0”)
汇编 (“call eax”)
' // 下面是修改目的地坐标
汇编 (“mov eax, 15D4”)
汇编 (“mov edi, dword ptr ds:”)
汇编 (“mov eax, 30”)
汇编 (“mov edi, dword ptr ds:”)
汇编 (“mov eax, 4”)
汇编 (“mov ecx, dword ptr ds:”)
汇编 (“mov eax,0” + 十到十六 (取字节集数据 (到字节集 (目的地X坐标), #整数型, )))' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr , eax”)
汇编 (“mov eax,0” + 十到十六 (取字节集数据 (到字节集 (目的地Z坐标), #整数型, )))' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr , eax”)
汇编 (“mov eax,0” + 十到十六 (取字节集数据 (到字节集 (目的地Y坐标), #整数型, )))' 只能是 #整数型 别的会走到0
汇编 (“mov dword ptr , eax”)
调用汇编 (dwPID)
.如果真结束
我个人写的模块
这个走路call在上个寻路call第二天就找出来了,只是太忙就没时间发上来,希望给有用的人一点点帮助
支持一下:lol 我顶的不是帖子,是寂寞! 沙发!沙发!枪一个沙发 必须支持!!!!!! 感谢楼主分享 看看 再说 拿分 真是被感动的痛哭流涕…… 沙发??? 前排,哇咔咔
页:
[1]
2