0040D015 83C4 08 add esp, 8 我们被带到这里。
0040D018 6A 10 push 10
0040D01A 8BD8 mov ebx, eax
0040D01C 66:05 2D00 add ax, 2D
0040D020 50 push eax
0040D021 52 push edx
0040D022 6A 00 push 0
0040D024 8B1B mov ebx, dword ptr ds:[ebx] ebx中被放入40d047
0040D026 FF13 call dword ptr ds:[ebx] 再次单步异常。
0040D028 6A FF push -1
0040D02A FF53 0C call dword ptr ds:[ebx+C]
0040D047 0000 add byte ptr ds:[eax], al 到哪里一看,空地址无代码,陷阱。
0040D049 0000 add byte ptr ds:[eax], al
0040D04B 0000 add byte ptr ds:[eax], al
0040D04D 0000 add byte ptr ds:[eax], al
0040D04F 0000 add byte ptr ds:[eax], al
0040D051 0000 add byte ptr ds:[eax], al
可以Shift+F7继续迷失在系统领空,我选择Ctrl+F2重来。
先F9运行,提示异常,这时加密的区段解压完毕,我们Ctrl+g,填入00405941,回车。
Shift+F9继续运行,提示单步异常。Shift+F9继续,呵顺利通过单步异常,F2取消断点。
00405941 /75 21 jnz short Notepad.00405964 到这里,F8慢慢往下运行。
00405943 |81EE B7570000 sub esi, 57B7
00405949 |0FB64E 06 movzx ecx, byte ptr ds:[esi+6]
0040594D |6BC9 0A imul ecx, ecx, 0A
00405950 |66:81C1 3E00 add cx, 3E
00405955 |331E xor ebx, dword ptr ds:[esi]
00405957 |D3C3 rol ebx, cl
00405959 |83C6 04 add esi, 4
0040595C |49 dec ecx
0040595D ^|75 F6 jnz short Notepad.00405955
0040595F |3958 04 cmp dword ptr ds:[eax+4], ebx
00405962 |74 08 je short Notepad.0040596C
00405964 \83C4 2A add esp, 2A
00405967 - E9 A9760000 jmp Notepad.0040D015 这里这次没运行,被处理掉了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
0040596C BE 00600000 mov esi, 6000
00405971 03F5 add esi, ebp
00405973 8D8D 00080000 lea ecx, dword ptr ss:[ebp+800]
00405979 8BD8 mov ebx, eax
0040597B 833E 00 cmp dword ptr ds:[esi], 0
0040597E 0F84 0E020000 je Notepad.00405B92 大跳转,可能是循环出口。
00405984 51 push ecx
00405985 51 push ecx
00405986 FF95 90070000 call dword ptr ss:[ebp+790]
0040598C 85C0 test eax, eax
0040598E 0F84 DF000000 je Notepad.00405A73 大跳转,可能是循环出口。
00405994 8BF8 mov edi, eax ; SHELL32.#584
00405996 0340 3C add eax, dword ptr ds:[eax+3C]
00405999 8B40 78 mov eax, dword ptr ds:[eax+78]
0040599C FF7438 18 push dword ptr ds:[eax+edi+18]
004059A0 8B4C38 24 mov ecx, dword ptr ds:[eax+edi+24]
004059A4 03CF add ecx, edi
004059A6 51 push ecx
004059A7 8B4C38 20 mov ecx, dword ptr ds:[eax+edi+20]
004059AB 03CF add ecx, edi
004059AD 51 push ecx
004059AE FF7438 10 push dword ptr ds:[eax+edi+10]
004059B2 FF7438 14 push dword ptr ds:[eax+edi+14]
004059B6 8B4438 1C mov eax, dword ptr ds:[eax+edi+1C]
我每次按都按教程运行到00405967就进去了(教程上说是被处理掉了) 又走了几行就不行了,这种SEH的东西该怎么样搞
呢,以下是我运行时的情况
0040D015 83C4 08 ADD ESP,8
0040D018 6A 10 PUSH 10
0040D01A 8BD8 MOV EBX,EAX
0040D01C 66:05 2D00 ADD AX,2D
0040D020 50 PUSH EAX
0040D021 52 PUSH EDX
0040D022 6A 00 PUSH 0
0040D024 8B1B MOV EBX,DWORD PTR DS:[EBX]
0040D026 FF13 CALL DWORD PTR DS:[EBX] 每次到这里就挂了,再也不能动了
0040D028 6A FF PUSH -1
0040D02A FF53 0C CALL DWORD PTR DS:[EBX+C]
0040D02D 45 INC EBP
0040D02E 52 PUSH EDX
0040D02F 52 PUSH EDX
0040D030 4F DEC EDI
0040D031 52 PUSH EDX
0040D032 2100 AND DWORD PTR DS:[EAX],EAX
0040D034 43 INC EBX
0040D035 6F OUTS DX,DWORD PTR ES:[EDI] ; I/O 命令
0040D036 72 72 JB SHORT Notepad.0040D0AA
0040D038 ^ 75 D9 JNZ SHORT Notepad.0040D013
0040D03A D7 XLAT BYTE PTR DS:[EBX+AL]
0040D03B - 71 AC JNO SHORT Notepad.0040CFE9
0040D03D - E0 B9 LOOPDNE SHORT Notepad.0040CFF8
0040D03F 58 POP EAX
0040D040 098E CDC22DD8 OR DWORD PTR DS:[ESI+D82DC2CD],ECX
0040D046 58 POP EAX
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)