Board logo

标题: 请帮忙看看以下代码哪里出了问题 [打印本页]

作者: 武骧金星    时间: 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
作者: majiming    时间: 2010-2-20 15:28

用OD一句句跟踪看看不就知道错在哪了
作者: godtype    时间: 2010-2-20 16:15


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那么多时间。




欢迎光临 轩辕春秋文化论坛 (http://www.xycq.org.cn/forum/) Powered by Discuz! 5.0.0