#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ char name[50] = "abcdef"; int sum =1,sum2; for (int i=0;i 6A 00 push 0x0 0051780E |. FF75 10 push [arg.3] 00517811 |> 8B4D 0C mov ecx,[arg.2] 00517814 |. E8 98FFFFFF call crackme5.005177B1 /后 00517819 |. 8B45 0C mov eax,[arg.2] 0051781C |. 5D pop ebp 0051781D \. C3 retn 005177B1 /$ 8BFF mov edi,edi 005177B3 |. 55 push ebp 005177B4 |. 8BEC mov ebp,esp 005177B6 |. 837D 0C 00 cmp [arg.2],0x0 005177BA |. 74 06 je Xcrackme5.005177C2 005177BC |. C601 2D mov byte ptr ds:[ecx],0x2D 005177BF |. 41 inc ecx 005177C0 |. F7D8 neg eax 005177C2 |> 56 push esi ; `````````````` 005177C3 |. 8BF1 mov esi,ecx 005177C5 |> 33D2 /xor edx,edx 005177C7 |. F775 08 |div [arg.1] 005177CA |. 83FA 09 |cmp edx,0x9 005177CD |. 76 05 |jbe Xcrackme5.005177D4 005177CF |. 80C2 57 |add dl,0x57 005177D2 |. EB 03 |jmp Xcrackme5.005177D7 005177D4 |> 80C2 30 |add dl,0x30 005177D7 |> 8811 |mov byte ptr ds:[ecx],dl ; guan 005177D9 |. 41 |inc ecx 005177DA |. 85C0 |test eax,eax 005177DC |.^ 75 E7 \jnz Xcrackme5.005177C5 005177DE |. 8801 mov byte ptr ds:[ecx],al 005177E0 |. 49 dec ecx 005177E1 |> 8A16 mov dl,byte ptr ds:[esi] 005177E3 |. 8A01 mov al,byte ptr ds:[ecx] 005177E5 |. 8811 mov byte ptr ds:[ecx],dl 005177E7 |. 49 dec ecx 005177E8 |. 8806 mov byte ptr ds:[esi],al 005177EA |. 46 inc esi 005177EB |. 3BF1 cmp esi,ecx 005177ED |.^ 72 F2 jb Xcrackme5.005177E1 005177EF |. 5E pop esi 005177F0 |. 5D pop ebp 005177F1 \. C2 0800 retn 0x8 */ int i=0,j=strlen(name2); char c; while (i 8A5C05 C8 /mov bl,byte ptr ss:[ebp+eax-0x38] 00402014 |. 8A540D C8 |mov dl,byte ptr ss:[ebp+ecx-0x38] 00402018 |. 885C0D C8 |mov byte ptr ss:[ebp+ecx-0x38],bl 0040201C |. 885405 C8 |mov byte ptr ss:[ebp+eax-0x38],dl 00402020 |. 41 |inc ecx 00402021 |. 48 |dec eax 00402022 |. 3BC8 |cmp ecx,eax 00402024 |.^ 7C EA \jl Xcrackme5.00402010 */ sum2 = atoi(name2); /* 00506476 /$ 8BFF mov edi,edi 00506478 |. 55 push ebp 00506479 |. 8BEC mov ebp,esp 0050647B |. 83EC 1C sub esp,0x1C 0050647E |. 56 push esi 0050647F |. FF75 08 push [arg.1] 00506482 |. 8D4D E4 lea ecx,[local.7] 00506485 |. E8 F0AAFFFF call crackme5.00500F7A 0050648A |. 8B45 10 mov eax,[arg.3] 0050648D |. 8B75 0C mov esi,[arg.2] 00506490 |. 85C0 test eax,eax 00506492 |. 74 02 je Xcrackme5.00506496 00506494 |. 8930 mov dword ptr ds:[eax],esi 00506496 |> 85F6 test esi,esi 00506498 |. 75 24 jnz Xcrackme5.005064BE 0050649A |> E8 AFD2FFFF call crackme5.0050374E 0050649F |. C700 16000000 mov dword ptr ds:[eax],0x16 005064A5 |. E8 8F350000 call crackme5.00509A39 005064AA |. 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x0 005064AE |. 74 07 je Xcrackme5.005064B7 005064B0 |. 8B45 EC mov eax,[local.5] 005064B3 |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD 005064B7 |> 33C0 xor eax,eax 005064B9 |. E9 E0010000 jmp crackme5.0050669E 005064BE |> 837D 14 00 cmp [arg.4],0x0 005064C2 |. 74 0C je Xcrackme5.005064D0 005064C4 |. 837D 14 02 cmp [arg.4],0x2 005064C8 |.^ 7C D0 jl Xcrackme5.0050649A 005064CA |. 837D 14 24 cmp [arg.4],0x24 005064CE |.^ 7F CA jg Xcrackme5.0050649A 005064D0 |> 8365 FC 00 and [local.1],0x0 005064D4 |. 8B4D E4 mov ecx,[local.7] 005064D7 |. 53 push ebx 005064D8 |. 8A1E mov bl,byte ptr ds:[esi] 005064DA |. 57 push edi 005064DB |. 8D7E 01 lea edi,dword ptr ds:[esi+0x1] 005064DE |> 83B9 AC000000>/cmp dword ptr ds:[ecx+0xAC],0x1 005064E5 |. 7E 17 |jle Xcrackme5.005064FE 005064E7 |. 8D45 E4 |lea eax,[local.7] 005064EA |. 50 |push eax 005064EB |. 0FB6C3 |movzx eax,bl 005064EE |. 6A 08 |push 0x8 005064F0 |. 50 |push eax 005064F1 |. E8 C0450000 |call crackme5.0050AAB6 005064F6 |. 8B4D E4 |mov ecx,[local.7] 005064F9 |. 83C4 0C |add esp,0xC 005064FC |. EB 10 |jmp Xcrackme5.0050650E 005064FE |> 8B91 C8000000 |mov edx,dword ptr ds:[ecx+0xC8] 00506504 |. 0FB6C3 |movzx eax,bl 00506507 |. 0FB70442 |movzx eax,word ptr ds:[edx+eax*2] 0050650B |. 83E0 08 |and eax,0x8 0050650E |> 85C0 |test eax,eax 00506510 |. 74 05 |je Xcrackme5.00506517 00506512 |. 8A1F |mov bl,byte ptr ds:[edi] 00506514 |. 47 |inc edi 00506515 |.^ EB C7 \jmp Xcrackme5.005064DE 00506517 |> 80FB 2D cmp bl,0x2D ; diyige 0050651A |. 75 06 jnz Xcrackme5.00506522 0050651C |. 834D 18 02 or [arg.5],0x2 00506520 |. EB 05 jmp Xcrackme5.00506527 00506522 |> 80FB 2B cmp bl,0x2B ; + 00506525 |. 75 03 jnz Xcrackme5.0050652A 00506527 |> 8A1F mov bl,byte ptr ds:[edi] 00506529 |. 47 inc edi 0050652A |> 8B45 14 mov eax,[arg.4] 0050652D |. 85C0 test eax,eax 0050652F |. 0F88 4F010000 js crackme5.00506684 00506535 |. 83F8 01 cmp eax,0x1 ; 1-0x24 00506538 |. 0F84 46010000 je crackme5.00506684 0050653E |. 83F8 24 cmp eax,0x24 00506541 |. 0F8F 3D010000 jg crackme5.00506684 00506547 |. 85C0 test eax,eax 00506549 |. 75 2A jnz Xcrackme5.00506575 0050654B |. 80FB 30 cmp bl,0x30 0050654E |. 74 09 je Xcrackme5.00506559 00506550 |. C745 14 0A000>mov [arg.4],0xA 00506557 |. EB 36 jmp Xcrackme5.0050658F 00506559 |> 8A07 mov al,byte ptr ds:[edi] 0050655B |. 3C 78 cmp al,0x78 0050655D |. 74 0D je Xcrackme5.0050656C 0050655F |. 3C 58 cmp al,0x58 00506561 |. 74 09 je Xcrackme5.0050656C 00506563 |. C745 14 08000>mov [arg.4],0x8 0050656A |. EB 23 jmp Xcrackme5.0050658F 0050656C |> C745 14 10000>mov [arg.4],0x10 00506573 |. EB 0A jmp Xcrackme5.0050657F 00506575 |> 83F8 10 cmp eax,0x10 00506578 |. 75 15 jnz Xcrackme5.0050658F 0050657A |. 80FB 30 cmp bl,0x30 0050657D |. 75 10 jnz Xcrackme5.0050658F 0050657F |> 8A07 mov al,byte ptr ds:[edi] 00506581 |. 3C 78 cmp al,0x78 00506583 |. 74 04 je Xcrackme5.00506589 00506585 |. 3C 58 cmp al,0x58 00506587 |. 75 06 jnz Xcrackme5.0050658F 00506589 |> 8A5F 01 mov bl,byte ptr ds:[edi+0x1] 0050658C |. 83C7 02 add edi,0x2 0050658F |> 83C8 FF or eax,0xFFFFFFFF ; `````````` 00506592 |. 33D2 xor edx,edx 00506594 |. F775 14 div [arg.4] ; A 00506597 |. 8BB1 C8000000 mov esi,dword ptr ds:[ecx+0xC8] 0050659D |. 8955 F8 mov [local.2],edx 005065A0 |> 0FB6CB /movzx ecx,bl 005065A3 |. 0FB70C4E |movzx ecx,word ptr ds:[esi+ecx*2] 005065A7 |. 8BD1 |mov edx,ecx 005065A9 |. 83E2 04 |and edx,0x4 005065AC |. 74 08 |je Xcrackme5.005065B6 005065AE |. 0FBECB |movsx ecx,bl 005065B1 |. 83E9 30 |sub ecx,0x30 005065B4 |. EB 19 |jmp Xcrackme5.005065CF 005065B6 |> 81E1 03010000 |and ecx,0x103 005065BC |. 74 30 |je Xcrackme5.005065EE 005065BE |. 8D4B 9F |lea ecx,dword ptr ds:[ebx-0x61] 005065C1 |. 80F9 19 |cmp cl,0x19 005065C4 |. 0FBECB |movsx ecx,bl 005065C7 |. 77 03 |ja Xcrackme5.005065CC 005065C9 |. 83E9 20 |sub ecx,0x20 005065CC |> 83C1 C9 |add ecx,-0x37 005065CF |> 3B4D 14 |cmp ecx,[arg.4] 005065D2 |. 73 1A |jnb Xcrackme5.005065EE 005065D4 |. 834D 18 08 |or [arg.5],0x8 005065D8 |. 3945 FC |cmp [local.1],eax 005065DB |. 72 28 |jb Xcrackme5.00506605 005065DD |. 75 05 |jnz Xcrackme5.005065E4 005065DF |. 3B4D F8 |cmp ecx,[local.2] 005065E2 |. 76 21 |jbe Xcrackme5.00506605 005065E4 |> 834D 18 04 |or [arg.5],0x4 005065E8 |. 837D 10 00 |cmp [arg.3],0x0 005065EC |. 75 23 |jnz Xcrackme5.00506611 005065EE |> 8B45 18 |mov eax,[arg.5] 005065F1 |. 4F |dec edi 005065F2 |. A8 08 |test al,0x8 005065F4 |. 75 20 |jnz Xcrackme5.00506616 005065F6 |. 837D 10 00 |cmp [arg.3],0x0 005065FA |. 74 03 |je Xcrackme5.005065FF 005065FC |. 8B7D 0C |mov edi,[arg.2] 005065FF |> 8365 FC 00 |and [local.1],0x0 00506603 |. EB 5B |jmp Xcrackme5.00506660 00506605 |> 8B55 FC |mov edx,[local.1] 00506608 |. 0FAF55 14 |imul edx,[arg.4] 0050660C |. 03D1 |add edx,ecx 0050660E |. 8955 FC |mov [local.1],edx 00506611 |> 8A1F |mov bl,byte ptr ds:[edi] 00506613 |. 47 |inc edi 00506614 |.^ EB 8A \jmp Xcrackme5.005065A0 00506616 |> BE FFFFFF7F mov esi,0x7FFFFFFF 0050661B |. A8 04 test al,0x4 0050661D |. 75 1B jnz Xcrackme5.0050663A 0050661F |. A8 01 test al,0x1 00506621 |. 75 3D jnz Xcrackme5.00506660 00506623 |. 83E0 02 and eax,0x2 00506626 |. 74 09 je Xcrackme5.00506631 00506628 |. 817D FC 00000>cmp [local.1],0x80000000 0050662F |. 77 09 ja Xcrackme5.0050663A 00506631 |> 85C0 test eax,eax 00506633 |. 75 2B jnz Xcrackme5.00506660 00506635 |. 3975 FC cmp [local.1],esi 00506638 |. 76 26 jbe Xcrackme5.00506660 0050663A |> E8 0FD1FFFF call crackme5.0050374E 0050663F |. F645 18 01 test byte ptr ss:[ebp+0x18],0x1 00506643 |. C700 22000000 mov dword ptr ds:[eax],0x22 00506649 |. 74 06 je Xcrackme5.00506651 0050664B |. 834D FC FF or [local.1],0xFFFFFFFF 0050664F |. EB 0F jmp Xcrackme5.00506660 00506651 |> F645 18 02 test byte ptr ss:[ebp+0x18],0x2 00506655 |. 6A 00 push 0x0 00506657 |. 58 pop eax 00506658 |. 0F95C0 setne al 0050665B |. 03C6 add eax,esi 0050665D |. 8945 FC mov [local.1],eax 00506660 |> 8B45 10 mov eax,[arg.3] 00506663 |. 85C0 test eax,eax 00506665 |. 74 02 je Xcrackme5.00506669 00506667 |. 8938 mov dword ptr ds:[eax],edi 00506669 |> F645 18 02 test byte ptr ss:[ebp+0x18],0x2 0050666D |. 74 03 je Xcrackme5.00506672 0050666F |. F75D FC neg [local.1] 00506672 |> 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x0 00506676 |. 74 07 je Xcrackme5.0050667F 00506678 |. 8B45 EC mov eax,[local.5] 0050667B |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD 0050667F |> 8B45 FC mov eax,[local.1] 00506682 |. EB 18 jmp Xcrackme5.0050669C 00506684 |> 8B45 10 mov eax,[arg.3] 00506687 |. 85C0 test eax,eax 00506689 |. 74 02 je Xcrackme5.0050668D 0050668B |. 8930 mov dword ptr ds:[eax],esi 0050668D |> 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x0 00506691 |. 74 07 je Xcrackme5.0050669A 00506693 |. 8B45 EC mov eax,[local.5] 00506696 |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD 0050669A |> 33C0 xor eax,eax 0050669C |> 5F pop edi 0050669D |. 5B pop ebx 0050669E |> 5E pop esi 0050669F |. C9 leave 005066A0 \. C3 retn */ sum += sum2; itoa(sum,name,10); sprintf(name2,"xdsec%s",name); printf("%s",name2); return 0;}