|  |  |  
 | 
 
岱瀛
 (deving)
 |  |  
 |  |  |  
 |  
 
                     
                     
 |  |  |  
 | 
  组别 |   经略使 |  
  级别 |   左将军 |  
  好贴 |   1 |  
  功绩 |   2293 |  
  帖子 |   1370 |  
  编号 |   55810 |  
  注册 |   2005-12-22 |  
  来自 |   人间 |  
  家族 |   慕容世家 |  
 
 |  |  
 |  |  |  
 |  
 
  
 | 
| 
 |  
 
 原帖由 aaa132536 于 2007-5-12 04:48 发表 
郁闷,研究半天一点头绪都没有.好困,要睡了.  
  代码总要自己研究出来了才有成就感,自己也才会进步嘛。 
 
参数就是epb-8,ebp-c 
被攻击方的数据 
攻击方的内存地址 
 
-4被攻击方的数据 
-8攻击方的内存地址 
-c 被攻击方的内存地址 
-10 攻击方的Data编号 
-14 被攻击方的Data编号 
 
 
004D0000    55              PUSH EBP 
004D0001    8BEC            MOV EBP,ESP 
004D0003    83EC 14         SUB ESP,14 
004D0006    8B45 0C         MOV EAX,DWORD PTR SS:[EBP+C] 
004D0009    8945 F8         MOV DWORD PTR SS:[EBP-8],EAX 
004D000C    8B45 08         MOV EAX,DWORD PTR SS:[EBP+8] 
004D000F    8945 FC         MOV DWORD PTR SS:[EBP-4],EAX 
004D0012    25 FF000000     AND EAX,0FF 
004D0017    6BC0 24         IMUL EAX,EAX,24 
004D001A    05 502C4B00     ADD EAX,Ekd5.004B2C50 
004D001F    8945 F4         MOV DWORD PTR SS:[EBP-C],EAX 
004D0022    8BC8            MOV ECX,EAX 
004D0024    E8 47B4F6FF     CALL Ekd5.0043B470                       ; 判断被攻击方的职业 
004D0029    3C 01           CMP AL,1 
004D002B    75 69           JNZ SHORT Ekd5.004D0096                  ; 兵种不对跳转 
004D002D    6A 08           PUSH 8 
004D002F    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C] 
004D0032    E8 A966F3FF     CALL Ekd5.004066E0                       ; 判断被攻击方的状态 
004D0037    85C0            TEST EAX,EAX 
004D0039    74 02           JE SHORT Ekd5.004D003D 
004D003B    EB 59           JMP SHORT Ekd5.004D0096                  ; 混乱中 
004D003D    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8] 
004D0040    E8 2BF6F8FF     CALL Ekd5.0045F670 
004D0045    8945 F0         MOV DWORD PTR SS:[EBP-10],EAX            ; 攻击方的Data编号 
004D0048    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C] 
004D004B    E8 20F6F8FF     CALL Ekd5.0045F670 
004D0050    8945 EC         MOV DWORD PTR SS:[EBP-14],EAX            ; 被攻击方的Data编号 
004D0053    6A 01           PUSH 1 
004D0055    FF75 F0         PUSH DWORD PTR SS:[EBP-10] 
004D0058    FF75 EC         PUSH DWORD PTR SS:[EBP-14] 
004D005B    B9 F05D4B00     MOV ECX,Ekd5.004B5DF0 
004D0060    E8 65AFF8FF     CALL Ekd5.0045AFCA                       ; 判断是否相邻 
004D0065    85C0            TEST EAX,EAX 
004D0067    74 2D           JE SHORT Ekd5.004D0096 
004D0069    8B4D F8         MOV ECX,DWORD PTR SS:[EBP-8] 
004D006C    E8 AFE2F6FF     CALL Ekd5.0043E320                       ; 获取攻击方的朝向 
004D0071    25 FF000000     AND EAX,0FF 
004D0076    83C0 02         ADD EAX,2 
004D0079    83F8 04         CMP EAX,4 
004D007C    7C 03           JL SHORT Ekd5.004D0081 
004D007E    83E8 04         SUB EAX,4 
004D0081    05 002D4B00     ADD EAX,Ekd5.004B2D00 
004D0086    50              PUSH EAX 
004D0087    8B4D F4         MOV ECX,DWORD PTR SS:[EBP-C] 
004D008A    E8 E165F3FF     CALL Ekd5.00406670                       ; 设置被攻击方的朝向,使其对准攻击方 
004D008F    B8 01000000     MOV EAX,1 
004D0094    EB 02           JMP SHORT Ekd5.004D0098 
004D0096    33C0            XOR EAX,EAX 
004D0098    8BE5            MOV ESP,EBP 
004D009A    5D              POP EBP 
004D009B    C3              RETN 
 
 
这就是先手攻击的函数,注释也付上了,怎么加,楼主自己再研究。 
 |  
| 
 |  
  |