我有一个dll里面有如下代码
1000A205 |. 68 04010000 push 104 ; /BufSize = 104 (260.)
1000A20A |. 56 push esi ; |PathBuffer => 复件_Reg.10025D04
1000A20B |. 53 push ebx ; |hModule
1000A20C |. FF15 E4A10110 call dword ptr [<&KERNEL32.GetModuleF>; \GetModuleFileNameA
1000A212 |. A1 98770210 mov eax, dword ptr [10027798]
1000A217 |. 8935 0C5C0210 mov dword ptr [10025C0C], esi
1000A21D |. 8BFE mov edi, esi
1000A21F |. 3818 cmp byte ptr [eax], bl
1000A221 |. 74 02 je short 1000A225
我将1000A20C处改为 call 10019801
显示为
1000A205 . 68 04010000 push 104
1000A20A . 56 push esi
1000A20B . 53 push ebx
1000A20C E8 F0F50000 call 10019801 ; mymodulename
1000A211 90 nop
1000A212 A1 98770210 mov eax, dword ptr [10027798]
1000A217 8935 0C5C0210 mov dword ptr [10025C0C], esi
1000A21D 8BFE mov edi, esi
1000A21F 3818 cmp byte ptr [eax], bl
1000A221 74 02 je short 1000A225
但是运行起来OD却识别为
01A9A205 . 68 04010000 push 104
01A9A20A . 56 push esi
01A9A20B . 53 push ebx
01A9A20C - E9 F0F500A9 jmp AAAA9801 ; mymodulename
01A9A211 81A1 9877AB01 89350C5C and dword ptr [ecx+1AB7798], 5C0C358>
01A9A21B AB stos dword ptr es:[edi]
01A9A21C 018B FE381874 add dword ptr [ebx+741838FE], ecx
01A9A222 028B F88D45F8 add cl, byte ptr [ebx+F8458DF8]
将call 10019801变成了 jmp AAAA9801 后面也完全混乱了,请教各位高手
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!