首页
社区
课程
招聘
[求助]修改代码出错
发表于: 2008-7-15 01:04 4178

[求助]修改代码出错

2008-7-15 01:04
4178
0045CE44    .  6A 00            push    0
0045CE46    .  6A 06            push    6
0045CE48    .  8B11             mov     edx, dword ptr [ecx]
0045CE4A    .  FF52 54          call    dword ptr [edx+54]               ;  取ID
0045CE4D    .  8BD8             mov     ebx, eax                               ;保存到EBX
0045CE4F    .  8B87 7C080000    mov     eax, dword ptr [edi+87C]
0045CE55    .  85C0             test    eax, eax
0045CE57    .  75 1D            jnz     short 0045CE76
0045CE59    .  8B06             mov     eax, dword ptr [esi]
0045CE5B    .  D946 38          fld     dword ptr [esi+38]               ;  减少血量
0045CE5E    .  8B28             mov     ebp, dword ptr [eax]
0045CE60    .  8D4424 10        lea     eax, dword ptr [esp+10]
0045CE64       50               push    eax
0045CE65       E8 AA9B0500      call    004B6A14                         ;  取血量
0045CE6A       8B0E             mov     ecx, dword ptr [esi]
0045CE6C       50               push    eax                              ;  值
0045CE6D       6A 06            push    6                                ;  类型
0045CE6F    .  FF55 48          call    dword ptr [ebp+48]               ;  对血处理

--------------------------------------------------------------
修改代码
0045CE64       E8 F7140700      call    004CE360
0045CE69       90               nop
0045CE6A       90               nop
0045CE6B       90               nop

//E8 F7 14 07 00 90 90 90

004CE360       50               push    eax                              ;  不掉血
004CE361       E8 AE86FEFF      call    004B6A14
004CE366       8B0E             mov     ecx, dword ptr [esi]
004CE368       81FB 99000000    cmp     ebx, 99
004CE36E       7E 02            jle     short 004CE372
004CE370       33C0             xor     eax, eax
004CE372     ^ E9 F5EAF8FF      jmp     0045CE6C

我想在对血处理之前加个判断ID号的代码,来确定是否减血,为什么我修改了代码后,
004CE366       8B0E             mov     ecx, dword ptr [esi]
ESI的值和没修改之前的值不一样???我这样修改后,程序就OVER了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不知哦。。。。。
2008-7-21 23:32
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
你这么跳不挂才怪。堆栈不平衡的。
直接jmp 004CE360就行了。
2008-7-22 00:57
0
游客
登录 | 注册 方可回帖
返回
//