英雄王座外挂走路算法

// addr[]为 23 1E 封包
// output[]为输出

int r_ecx, i;
DWORD r_edx;
BYTE r_cl;

r_edx 
= 0x0B;
for (i = 0; i < BYTE_PTR(addr[0x0A]); i++)
{
    r_ecx 
= i;
    r_ecx 
&= 0x80000001;
    r_cl 
= BYTE_PTR(addr_ptr[r_edx]);
    
if (r_ecx < 0)
    {
        r_ecx 
--;
        r_ecx 
|= 0xFFFFFFFE;
        r_ecx 
++;
    }
    
if (r_ecx == 0)
    {
        r_cl 
&= 0x0F;
    }
    
else{
        r_cl 
>>= 4;
        r_edx
++;
    }
    output 
= r_cl;
}

测试数据:

接受的23 1E封包:
0012F854  
23 1E C2 D1 00 00 C9 00 E5 00 05 56 55 F5 12 00

以上数据经过上面函数计算,其 
56 55 F5 12 00 解密得到:  06 05 05 05 05  ,该序列就是走路过程的状

态序列,长度代表步数

路途每步的方向与数值对比:

左:
04

右:
00

下:
06

上:
02

左上:
03

左下:
05

右上:
01

右下:
07
处理23 1E 
:

0044ABA7     
|> 0FB746 02             movzx eax,word ptr ds:[esi+2]    ;  Case 1E of switch 

00449D59
0044ABAB     
|.  50                    push eax
0044ABAC     
|.  E8 0FE7FEFF           call TJ2Clien.004392C0
0044ABB1     
|.  8BF8                  mov edi,eax
0044ABB3     
|.  83C4 04               add esp,4
0044ABB6     
|.  3BFB                  cmp edi,ebx

具体计算:

004461B0     
|> /8BC8                /mov ecx,eax
004461B2     
|. |81E1 01000080       |and ecx,80000001
004461B8     
|. |79 05               |jns short TJ2Clien.004461BF
004461BA     
|. |49                  |dec ecx
004461BB     
|. |83C9 FE             |or ecx,FFFFFFFE
004461BE     
|. |41                  |inc ecx
004461BF     
|> |8A0A                |mov cl,byte ptr ds:[edx]
004461C1     
|. |75 05               |jnz short TJ2Clien.004461C8
004461C3     
|. |80E1 0F             |and cl,0F
004461C6     
|. |EB 04               |jmp short TJ2Clien.004461CC
004461C8     
|> |C0E9 04             |shr cl,4
004461CB     
|. |42                  |inc edx
004461CC     
|> |880C30              |mov byte ptr ds:[eax+esi],cl
004461CF     
|. |0FB64F 0A           |movzx ecx,byte ptr ds:[edi+A]
004461D3     
|. |40                  |inc eax
004461D4     
|. |3BC1                |cmp eax,ecx
004461D6     
|.^7C D8               jl short TJ2Clien.004461B0

030A19CB     CC                        int3
030A19CC     CB                        retf
030A19CD     38EF                      cmp bh
,ch

030A28C1     CC                        int3
030A28C2     C010 
03                   rcl byte ptr ds:[eax],3
030A28C5     B1 
54                     mov cl,54
030A28C7   
^ E9 D1FDFFFF               jmp 030A269D
 
作者:眼镜

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值