假设这段代码执行前:
寄存器中的值分别是:
EAX 00D8C9E8 ASCII "107691"
ECX 00000001
EDX 00D8C9B4
EBX 00000007
ESP 0012F0DC
EBP 0012F138
ESI 0056245C ASCII 08,"TSoftReg"
EDI 0012F330
EIP 005633AD bitsms.005633AD
C 0 ES 0023 32bit 0(FFFFFFFF)
P 0 CS 001B 32bit 0(FFFFFFFF)
A 0 SS 0023 32bit 0(FFFFFFFF)
Z 0 DS 0023 32bit 0(FFFFFFFF)
S 0 FS 0038 32bit 7FFDE000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_SUCCESS (00000000)
EFL 00000202 (NO,NB,NE,A,NS,PO,GE,G)
ST0 empty 0.1376950679672530688
ST1 empty 16.000000000000000000
ST2 empty 0.1376950679672530688
ST3 empty 1.0000000000000000000
ST4 empty -UNORM B49C 00000000 00201272
ST5 empty +UNORM 1F80 00000000 0012FABC
ST6 empty -1.3789233080950328320e+1513
ST7 empty +UNORM 7500 00000000 FFFFFFFF
3 2 1 0 E S P U O Z D I
FST 2120 Cond 0 0 0 1 Err 0 0 1 0 0 0 0 0 (LT)
FCW 1272 Prec NEAR,53 掩码 1 1 0 0 1 0
代码如下:
00404C48 /$ 85C0 test eax,eax
00404C4A |. 74 40 je short bitsms.00404C8C
00404C4C |. 85D2 test edx,edx
00404C4E |. 74 31 je short bitsms.00404C81
00404C50 |. 53 push ebx
00404C51 |. 56 push esi
00404C52 |. 57 push edi
00404C53 |. 89C6 mov esi,eax
00404C55 |. 89D7 mov edi,edx
00404C57 |. 8B4F FC mov ecx,dword ptr ds:[edi-4] 'ds:[00D8C9B0]=00000026
00404C5A |. 57 push edi
00404C5B |. 8B56 FC mov edx,dword ptr ds:[esi-4] '同上
00404C5E |. 4A dec edx
00404C5F |. 78 1B js short bitsms.00404C7C
00404C61 |. 8A06 mov al,byte ptr ds:[esi] 'ds:[00D8EF70]=31 ('1') al=70 ('p')
00404C63 |. 46 inc esi
00404C64 |. 29D1 sub ecx,edx
00404C66 |. 7E 14 jle short bitsms.00404C7C
00404C68 |> F2:AE /repne scas byte ptr es:[edi]
00404C6A |. 75 10 |jnz short bitsms.00404C7C '我想问的是,这一步如何做到不跳??????????????
00404C6C |. 89CB |mov ebx,ecx
00404C6E |. 56 |push esi
00404C6F |. 57 |push edi
00404C70 |. 89D1 |mov ecx,edx
00404C72 |. F3:A6 |repe cmps byte ptr es:[edi],byte ptr ds>
00404C74 |. 5F |pop edi
00404C75 |. 5E |pop esi
00404C76 |. 74 0C |je short bitsms.00404C84
00404C78 |. 89D9 |mov ecx,ebx
00404C7A |.^ EB EC \jmp short bitsms.00404C68
00404C7C |> 5A pop edx
00404C7D |. 31C0 xor eax,eax
00404C7F |. EB 08 jmp short bitsms.00404C89
00404C81 |> 31C0 xor eax,eax
00404C83 |. C3 retn
我 想问如何做到这一步不跳:
00404C6A |. 75 10 |jnz short bitsms.00404C7C '我想问的是,这一步如何做到不跳??????????????
谢谢各位看官,帮我看看!
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!