英雄王座外挂走路算法

//  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
 
作者:眼镜

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值