#include "stdafx.h"#include <Windows.h>int _tmain(int argc, _TCHAR* argv[]){char name[50] = "abcdef";int sum =1,sum2;for (int i=0;i<strlen(name);i++){sum*= name[i];}char name2[50];itoa(sum,name2,10);/*005177F4 /$ 8BFF mov edi,edi005177F6 |. 55 push ebp005177F7 |. 8BEC mov ebp,esp005177F9 |. 837D 10 0A cmp [arg.3],0xA005177FD |. 8B45 08 mov eax,[arg.1]00517800 |. 75 0A jnz Xcrackme5.0051780C00517802 |. 85C0 test eax,eax00517804 |. 79 06 jns Xcrackme5.0051780C00517806 |. 6A 01 push 0x100517808 |. 6A 0A push 0xA0051780A |. EB 05 jmp Xcrackme5.005178110051780C |> 6A 00 push 0x00051780E |. 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 ebp0051781D \. C3 retn005177B1 /$ 8BFF mov edi,edi005177B3 |. 55 push ebp005177B4 |. 8BEC mov ebp,esp005177B6 |. 837D 0C 00 cmp [arg.2],0x0005177BA |. 74 06 je Xcrackme5.005177C2005177BC |. C601 2D mov byte ptr ds:[ecx],0x2D005177BF |. 41 inc ecx005177C0 |. F7D8 neg eax005177C2 |> 56 push esi ; ``````````````005177C3 |. 8BF1 mov esi,ecx005177C5 |> 33D2 /xor edx,edx005177C7 |. F775 08 |div [arg.1]005177CA |. 83FA 09 |cmp edx,0x9005177CD |. 76 05 |jbe Xcrackme5.005177D4005177CF |. 80C2 57 |add dl,0x57005177D2 |. EB 03 |jmp Xcrackme5.005177D7005177D4 |> 80C2 30 |add dl,0x30005177D7 |> 8811 |mov byte ptr ds:[ecx],dl ; guan005177D9 |. 41 |inc ecx005177DA |. 85C0 |test eax,eax005177DC |.^ 75 E7 \jnz Xcrackme5.005177C5005177DE |. 8801 mov byte ptr ds:[ecx],al005177E0 |. 49 dec ecx005177E1 |> 8A16 mov dl,byte ptr ds:[esi]005177E3 |. 8A01 mov al,byte ptr ds:[ecx]005177E5 |. 8811 mov byte ptr ds:[ecx],dl005177E7 |. 49 dec ecx005177E8 |. 8806 mov byte ptr ds:[esi],al005177EA |. 46 inc esi005177EB |. 3BF1 cmp esi,ecx005177ED |.^ 72 F2 jb Xcrackme5.005177E1005177EF |. 5E pop esi005177F0 |. 5D pop ebp005177F1 \. C2 0800 retn 0x8*/int i=0,j=strlen(name2);char c;while (i<j){c = name2[i];name2[i] = name2[j-1];name2[j-1] = c;i++;j--;}/*0040200E |. 8BFF mov edi,edi00402010 |> 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],bl0040201C |. 885405 C8 |mov byte ptr ss:[ebp+eax-0x38],dl00402020 |. 41 |inc ecx00402021 |. 48 |dec eax00402022 |. 3BC8 |cmp ecx,eax00402024 |.^ 7C EA \jl Xcrackme5.00402010*/sum2 = atoi(name2);/*00506476 /$ 8BFF mov edi,edi00506478 |. 55 push ebp00506479 |. 8BEC mov ebp,esp0050647B |. 83EC 1C sub esp,0x1C0050647E |. 56 push esi0050647F |. FF75 08 push [arg.1]00506482 |. 8D4D E4 lea ecx,[local.7]00506485 |. E8 F0AAFFFF call crackme5.00500F7A0050648A |. 8B45 10 mov eax,[arg.3]0050648D |. 8B75 0C mov esi,[arg.2]00506490 |. 85C0 test eax,eax00506492 |. 74 02 je Xcrackme5.0050649600506494 |. 8930 mov dword ptr ds:[eax],esi00506496 |> 85F6 test esi,esi00506498 |. 75 24 jnz Xcrackme5.005064BE0050649A |> E8 AFD2FFFF call crackme5.0050374E0050649F |. C700 16000000 mov dword ptr ds:[eax],0x16005064A5 |. E8 8F350000 call crackme5.00509A39005064AA |. 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x0005064AE |. 74 07 je Xcrackme5.005064B7005064B0 |. 8B45 EC mov eax,[local.5]005064B3 |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD005064B7 |> 33C0 xor eax,eax005064B9 |. E9 E0010000 jmp crackme5.0050669E005064BE |> 837D 14 00 cmp [arg.4],0x0005064C2 |. 74 0C je Xcrackme5.005064D0005064C4 |. 837D 14 02 cmp [arg.4],0x2005064C8 |.^ 7C D0 jl Xcrackme5.0050649A005064CA |. 837D 14 24 cmp [arg.4],0x24005064CE |.^ 7F CA jg Xcrackme5.0050649A005064D0 |> 8365 FC 00 and [local.1],0x0005064D4 |. 8B4D E4 mov ecx,[local.7]005064D7 |. 53 push ebx005064D8 |. 8A1E mov bl,byte ptr ds:[esi]005064DA |. 57 push edi005064DB |. 8D7E 01 lea edi,dword ptr ds:[esi+0x1]005064DE |> 83B9 AC000000>/cmp dword ptr ds:[ecx+0xAC],0x1005064E5 |. 7E 17 |jle Xcrackme5.005064FE005064E7 |. 8D45 E4 |lea eax,[local.7]005064EA |. 50 |push eax005064EB |. 0FB6C3 |movzx eax,bl005064EE |. 6A 08 |push 0x8005064F0 |. 50 |push eax005064F1 |. E8 C0450000 |call crackme5.0050AAB6005064F6 |. 8B4D E4 |mov ecx,[local.7]005064F9 |. 83C4 0C |add esp,0xC005064FC |. EB 10 |jmp Xcrackme5.0050650E005064FE |> 8B91 C8000000 |mov edx,dword ptr ds:[ecx+0xC8]00506504 |. 0FB6C3 |movzx eax,bl00506507 |. 0FB70442 |movzx eax,word ptr ds:[edx+eax*2]0050650B |. 83E0 08 |and eax,0x80050650E |> 85C0 |test eax,eax00506510 |. 74 05 |je Xcrackme5.0050651700506512 |. 8A1F |mov bl,byte ptr ds:[edi]00506514 |. 47 |inc edi00506515 |.^ EB C7 \jmp Xcrackme5.005064DE00506517 |> 80FB 2D cmp bl,0x2D ; diyige0050651A |. 75 06 jnz Xcrackme5.005065220050651C |. 834D 18 02 or [arg.5],0x200506520 |. EB 05 jmp Xcrackme5.0050652700506522 |> 80FB 2B cmp bl,0x2B ; +00506525 |. 75 03 jnz Xcrackme5.0050652A00506527 |> 8A1F mov bl,byte ptr ds:[edi]00506529 |. 47 inc edi0050652A |> 8B45 14 mov eax,[arg.4]0050652D |. 85C0 test eax,eax0050652F |. 0F88 4F010000 js crackme5.0050668400506535 |. 83F8 01 cmp eax,0x1 ; 1-0x2400506538 |. 0F84 46010000 je crackme5.005066840050653E |. 83F8 24 cmp eax,0x2400506541 |. 0F8F 3D010000 jg crackme5.0050668400506547 |. 85C0 test eax,eax00506549 |. 75 2A jnz Xcrackme5.005065750050654B |. 80FB 30 cmp bl,0x300050654E |. 74 09 je Xcrackme5.0050655900506550 |. C745 14 0A000>mov [arg.4],0xA00506557 |. EB 36 jmp Xcrackme5.0050658F00506559 |> 8A07 mov al,byte ptr ds:[edi]0050655B |. 3C 78 cmp al,0x780050655D |. 74 0D je Xcrackme5.0050656C0050655F |. 3C 58 cmp al,0x5800506561 |. 74 09 je Xcrackme5.0050656C00506563 |. C745 14 08000>mov [arg.4],0x80050656A |. EB 23 jmp Xcrackme5.0050658F0050656C |> C745 14 10000>mov [arg.4],0x1000506573 |. EB 0A jmp Xcrackme5.0050657F00506575 |> 83F8 10 cmp eax,0x1000506578 |. 75 15 jnz Xcrackme5.0050658F0050657A |. 80FB 30 cmp bl,0x300050657D |. 75 10 jnz Xcrackme5.0050658F0050657F |> 8A07 mov al,byte ptr ds:[edi]00506581 |. 3C 78 cmp al,0x7800506583 |. 74 04 je Xcrackme5.0050658900506585 |. 3C 58 cmp al,0x5800506587 |. 75 06 jnz Xcrackme5.0050658F00506589 |> 8A5F 01 mov bl,byte ptr ds:[edi+0x1]0050658C |. 83C7 02 add edi,0x20050658F |> 83C8 FF or eax,0xFFFFFFFF ; ``````````00506592 |. 33D2 xor edx,edx00506594 |. F775 14 div [arg.4] ; A00506597 |. 8BB1 C8000000 mov esi,dword ptr ds:[ecx+0xC8]0050659D |. 8955 F8 mov [local.2],edx005065A0 |> 0FB6CB /movzx ecx,bl005065A3 |. 0FB70C4E |movzx ecx,word ptr ds:[esi+ecx*2]005065A7 |. 8BD1 |mov edx,ecx005065A9 |. 83E2 04 |and edx,0x4005065AC |. 74 08 |je Xcrackme5.005065B6005065AE |. 0FBECB |movsx ecx,bl005065B1 |. 83E9 30 |sub ecx,0x30005065B4 |. EB 19 |jmp Xcrackme5.005065CF005065B6 |> 81E1 03010000 |and ecx,0x103005065BC |. 74 30 |je Xcrackme5.005065EE005065BE |. 8D4B 9F |lea ecx,dword ptr ds:[ebx-0x61]005065C1 |. 80F9 19 |cmp cl,0x19005065C4 |. 0FBECB |movsx ecx,bl005065C7 |. 77 03 |ja Xcrackme5.005065CC005065C9 |. 83E9 20 |sub ecx,0x20005065CC |> 83C1 C9 |add ecx,-0x37005065CF |> 3B4D 14 |cmp ecx,[arg.4]005065D2 |. 73 1A |jnb Xcrackme5.005065EE005065D4 |. 834D 18 08 |or [arg.5],0x8005065D8 |. 3945 FC |cmp [local.1],eax005065DB |. 72 28 |jb Xcrackme5.00506605005065DD |. 75 05 |jnz Xcrackme5.005065E4005065DF |. 3B4D F8 |cmp ecx,[local.2]005065E2 |. 76 21 |jbe Xcrackme5.00506605005065E4 |> 834D 18 04 |or [arg.5],0x4005065E8 |. 837D 10 00 |cmp [arg.3],0x0005065EC |. 75 23 |jnz Xcrackme5.00506611005065EE |> 8B45 18 |mov eax,[arg.5]005065F1 |. 4F |dec edi005065F2 |. A8 08 |test al,0x8005065F4 |. 75 20 |jnz Xcrackme5.00506616005065F6 |. 837D 10 00 |cmp [arg.3],0x0005065FA |. 74 03 |je Xcrackme5.005065FF005065FC |. 8B7D 0C |mov edi,[arg.2]005065FF |> 8365 FC 00 |and [local.1],0x000506603 |. EB 5B |jmp Xcrackme5.0050666000506605 |> 8B55 FC |mov edx,[local.1]00506608 |. 0FAF55 14 |imul edx,[arg.4]0050660C |. 03D1 |add edx,ecx0050660E |. 8955 FC |mov [local.1],edx00506611 |> 8A1F |mov bl,byte ptr ds:[edi]00506613 |. 47 |inc edi00506614 |.^ EB 8A \jmp Xcrackme5.005065A000506616 |> BE FFFFFF7F mov esi,0x7FFFFFFF0050661B |. A8 04 test al,0x40050661D |. 75 1B jnz Xcrackme5.0050663A0050661F |. A8 01 test al,0x100506621 |. 75 3D jnz Xcrackme5.0050666000506623 |. 83E0 02 and eax,0x200506626 |. 74 09 je Xcrackme5.0050663100506628 |. 817D FC 00000>cmp [local.1],0x800000000050662F |. 77 09 ja Xcrackme5.0050663A00506631 |> 85C0 test eax,eax00506633 |. 75 2B jnz Xcrackme5.0050666000506635 |. 3975 FC cmp [local.1],esi00506638 |. 76 26 jbe Xcrackme5.005066600050663A |> E8 0FD1FFFF call crackme5.0050374E0050663F |. F645 18 01 test byte ptr ss:[ebp+0x18],0x100506643 |. C700 22000000 mov dword ptr ds:[eax],0x2200506649 |. 74 06 je Xcrackme5.005066510050664B |. 834D FC FF or [local.1],0xFFFFFFFF0050664F |. EB 0F jmp Xcrackme5.0050666000506651 |> F645 18 02 test byte ptr ss:[ebp+0x18],0x200506655 |. 6A 00 push 0x000506657 |. 58 pop eax00506658 |. 0F95C0 setne al0050665B |. 03C6 add eax,esi0050665D |. 8945 FC mov [local.1],eax00506660 |> 8B45 10 mov eax,[arg.3]00506663 |. 85C0 test eax,eax00506665 |. 74 02 je Xcrackme5.0050666900506667 |. 8938 mov dword ptr ds:[eax],edi00506669 |> F645 18 02 test byte ptr ss:[ebp+0x18],0x20050666D |. 74 03 je Xcrackme5.005066720050666F |. F75D FC neg [local.1]00506672 |> 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x000506676 |. 74 07 je Xcrackme5.0050667F00506678 |. 8B45 EC mov eax,[local.5]0050667B |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD0050667F |> 8B45 FC mov eax,[local.1]00506682 |. EB 18 jmp Xcrackme5.0050669C00506684 |> 8B45 10 mov eax,[arg.3]00506687 |. 85C0 test eax,eax00506689 |. 74 02 je Xcrackme5.0050668D0050668B |. 8930 mov dword ptr ds:[eax],esi0050668D |> 807D F0 00 cmp byte ptr ss:[ebp-0x10],0x000506691 |. 74 07 je Xcrackme5.0050669A00506693 |. 8B45 EC mov eax,[local.5]00506696 |. 8360 70 FD and dword ptr ds:[eax+0x70],0xFFFFFFFD0050669A |> 33C0 xor eax,eax0050669C |> 5F pop edi0050669D |. 5B pop ebx0050669E |> 5E pop esi0050669F |. C9 leave005066A0 \. C3 retn*/sum += sum2;itoa(sum,name,10);sprintf(name2,"xdsec%s",name);printf("%s",name2);return 0;}