2010-2-20 13:05
武骧金星
请帮忙看看以下代码哪里出了问题
代码目标:将《精忠报国岳飞传》中对吸血攻击特效的判断改为对金兀术ID的判断
00405C6C   $  55            PUSH EBP                                       //子程序开始
00405C6D   .  8BEC          MOV EBP,ESP
00405C6F   .  83EC 10       SUB ESP,10
00405C72   .  894D FC       MOV DWORD PTR SS:[EBP-4],ECX
00405C75   .  33C9          XOR ECX,ECX
00405C77   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00405C7A   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00405C7D   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C80   .  51            PUSH ECX
00405C81   .  E8 F7610000   CALL Ekd5.0040BE7D                    //获取武将08栈的DATA序号
00405C86   .  83F8 01       CMP EAX,1                                      //金兀术的DATA序号=1
00405C89   .  0F85 51360000 JNZ Ekd5.004092E0                     //如果不是金兀术,跳转
00405C8F   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]      
00405C92   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C95   .  E8 81150000   CALL Ekd5.0040721B                    //获取武将最大血量,以后就是吸血效果代码了,因此省略
我估计是00405C86的代码:CMP EAX,1 可能出了问题……能否请方家指教一下?谢谢。
2010-2-20 13:16
武骧金星
对了,这是原来的代码,可以用于比较:
00405C6C   $  55            PUSH EBP
00405C6D   .  8BEC          MOV EBP,ESP
00405C6F   .  83EC 10       SUB ESP,10
00405C72   .  894D FC       MOV DWORD PTR SS:[EBP-4],ECX
00405C75   .  33C9          XOR ECX,ECX
00405C77   .  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
00405C7A   .  6A 3A         PUSH 3A                                            //检查武将是否带有效果为3A的装备
00405C7C   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]            
00405C7F   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]           
00405C82   .  E8 821D0000   CALL Ekd5.00407A09                  
00405C87   .  85C0          TEST EAX,EAX
00405C89   .  0F84 51360000 JE Ekd5.004092E0
00405C8F   .  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
00405C92   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00405C95   .  E8 81150000   CALL Ekd5.0040721B
2010-2-20 15:28
majiming
用OD一句句跟踪看看不就知道错在哪了
2010-2-20 16:15
godtype
将
00405C80   .  51            PUSH ECX
00405C81   .  E8 F7610000   CALL Ekd5.0040BE7D
改成
CALL 409500
试一下
2010-2-21 01:50
武骧金星
完全不行……
我也想用OD来调试啊,但是说岳的EKD5.e5是不能直接运行的啊……
2010-2-21 08:07
武骧金星
歹势,经过仔细调查,发现是在改先手攻击时和吸血攻击发生冲突了……
抱歉浪费了BZ那么多时间。