我在调试传奇外传时,发现传奇的代码随着光标上下移动而发生变化,我知道可能是OD不能正确汇编指令,因为我断下到一个位置,这个位置是设置等级的:
004867C0 8A08 mov cl, byte ptr [eax]
004867C2 884A 48 mov byte ptr [edx+48], cl ; cl=等级
004867C5 8A48 01 mov cl, byte ptr [eax+1]
004867C8 884A 21 mov byte ptr [edx+21], cl
004867CB 8A48 02 mov cl, byte ptr [eax+2]
004867CE 884A 04 mov byte ptr [edx+4], cl
004867D1 8A48 03 mov cl, byte ptr [eax+3]
004867D4 884A 12 mov byte ptr [edx+12], cl
这些指令看起来很正常。可是我向上看的时候,这些代码已经变成:
004867BC \65:73 8B jnb short 0048674A
004867BF C08A 08884A48 8>ror byte ptr [edx+484A8808], 8A
004867C6 48 dec eax
004867C7 0188 4A218A48 add dword ptr [eax+488A214A], ecx
004867CD 0288 4A048A48 add cl, byte ptr [eax+488A044A]
004867D3 0388 4A128A48 add ecx, dword ptr [eax+488A124A]
004867D9 04 88 add al, 88
004867DB 4A dec edx
这些应该是OD不能正确汇编导致的,不知道怎么才能让OD显示正确的汇编?我用CTRL+上下光标箭头也只能使正确的汇编到下面的位置:
004867BE 8BC0 mov eax, eax
004867C0 8A08 mov cl, byte ptr [eax]
004867C2 884A 48 mov byte ptr [edx+48], cl ; cl=等级
004867C5 8A48 01 mov cl, byte ptr [eax+1]
004867C8 884A 21 mov byte ptr [edx+21], cl
004867CB 8A48 02 mov cl, byte ptr [eax+2]
004867CE 884A 04 mov byte ptr [edx+4], cl
004867D1 8A48 03 mov cl, byte ptr [eax+3]
004867D4 884A 12 mov byte ptr [edx+12], cl
004867D7 8A48 04 mov cl, byte ptr [eax+4]
004867DA 884A 13 mov byte ptr [edx+13], cl
再移动光标指令就乱了
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)