看虚姨的那篇如何用ollydbg修改曹操传引擎会很清楚。
这是直接从我的笔记里复制的,5.9版,地址是一样的。
0043BD0F |. 51 PUSH ECX ; /Arg1 => 00000000
0043BD10 |. 8B4D D4 MOV ECX,DWORD PTR SS:[EBP-2C] ; |
0043BD13 |. E8 A9060000 CALL Ekd5.0043C3C1 ; \Ekd5.0043C3C1 读取能力
0043BD18 |. 0FB64D F4 MOVZX ECX,BYTE PTR SS:[EBP-C]
0043BD1C |. 0FAFC1 IMUL EAX,ECX
0043BD1F |. 33D2 XOR EDX,EDX
0043BD21 |. B1 0A MOV CL,0A
0043BD23 |. F7F1 DIV ECX
0043BD25 |. 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX 攻击力乘以地形因素
0043BD28 |. 6A 01 PUSH 1 ; /Arg1 = 00000001
0043BD2A |. 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8] ; |
0043BD2D |. E8 8F060000 CALL Ekd5.0043C3C1 ; \Ekd5.0043C3C1 读取能力
0043BD32 |. 0FB64D E8 MOVZX ECX,BYTE PTR SS:[EBP-18]
0043BD36 |. 0FAFC1 IMUL EAX,ECX
0043BD39 |. 33D2 XOR EDX,EDX
0043BD3B |. B1 0A MOV CL,0A
0043BD3D |. F7F1 DIV ECX
0043BD3F |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX 防御力乘以地形因素
0043BD42 |. 837D 0C 00 CMP DWORD PTR SS:[EBP+C],0
0043BD46 |. 74 1A JE SHORT Ekd5.0043BD62
0043BD48 |. 68 FF000000 PUSH 0FF ; /Arg3 = 000000FF
0043BD4D |. 6A 01 PUSH 1 ; |Arg2 = 00000001
0043BD4F |. FF75 08 PUSH DWORD PTR SS:[EBP+8] ; |Arg1
0043BD52 |. 8B4D D4 MOV ECX,DWORD PTR SS:[EBP-2C] ; |
0043BD55 |. E8 60F7FFFF CALL Ekd5.0043B4BA ; \Ekd5.0043B4BA
0043BD5A |. 85C0 TEST EAX,EAX
0043BD5C |. 0F84 B5010000 JE Ekd5.0043BF17
0043BD62 |> 8B4D D4 MOV ECX,DWORD PTR SS:[EBP-2C]
0043BD65 |. E8 2D290000 CALL Ekd5.0043E697
0043BD6A |. 83C0 19 ADD EAX,19 附加25点伤害。
0043BD6D |. 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0043BD70 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
0043BD73 |. 3B45 F0 CMP EAX,DWORD PTR SS:[EBP-10] 以下为分段函数,当攻方攻击力大于或小于守方防御力的情况。
0043BD76 |. 72 0A JB SHORT Ekd5.0043BD82
0043BD78 |. 2B45 F0 SUB EAX,DWORD PTR SS:[EBP-10]
0043BD7B |. D1E8 SHR EAX,1
0043BD7D |. 0145 FC ADD DWORD PTR SS:[EBP-4],EAX
0043BD80 |. EB 1E JMP SHORT Ekd5.0043BDA0
0043BD82 |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
0043BD85 |. 2B45 E0 SUB EAX,DWORD PTR SS:[EBP-20]
0043BD88 |. D1E8 SHR EAX,1
[ 本帖最后由 古月新风 于 2013-9-24 22:56 编辑 ]
|