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直播授课