reversing.kr - Easy Crack

Easy Crack

Easy Crack

ghidra btw

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
void entry(void)
{
....
UVar4 = FUN_00401000(pHVar3); Main function
FUN_004012f4(UVar4); Exit function
FUN_004013c9(local_18->ExceptionRecord->Except ionCode,local_18);
return;
}

undefined4 Main(HINSTANCE hInstance)
{
DialogBoxParamA(hInstance,(LPCSTR)0x65,(HWND) 0x0,(DLGPROC)&LAB_00401020,0);
return 0;
}
...


void __cdecl checkPassword(HWND param_1)

{
byte bVar1;
byte *pbVar2;
int iVar3;
char *pcVar4;
bool bVar5;

CHAR local_64;
char local_63;
char local_62;
char acStack_61 [97];

local_64 = '\0';
pcVar4 = &local_63;
for (iVar3 = 0x18; iVar3 != 0; iVar3 = iVar3 + -1) {
pcVar4[0] = '\0';
pcVar4[1] = '\0';
pcVar4[2] = '\0';
pcVar4[3] = '\0';
pcVar4 = pcVar4 + 4;
}
pcVar4[0] = '\0';
pcVar4[1] = '\0';
pcVar4[2] = '\0';
GetDlgItemTextA(param_1,1000,&local_64,100);
if (local_63 == 'a') { ;a
iVar3 = _strncmp(&local_62,&DAT_00406078,2); ;5y
if (iVar3 == 0) {
pcVar4 = s_AGR3versing_0040606a;
pbVar2 = (byte *)(acStack_61 + 1);

do {
pcVar4 = (char *)((byte *)pcVar4 + 2); ;R3versing
bVar1 = *pbVar2;
bVar5 = bVar1 < (byte)*pcVar4;
if (bVar1 != *pcVar4) {
LAB_00401102:
iVar3 = (1 - (uint)bVar5) - (uint)(bVar5 != 0);
goto LAB_00401107;
}
if (bVar1 == 0) break;
bVar1 = pbVar2[1];
bVar5 = bVar1 < ((byte *)pcVar4)[1];
if (bVar1 != ((byte *)pcVar4)[1]) goto LAB_004011 02;
pbVar2 = pbVar2 + 2;
} while (bVar1 != 0);

iVar3 = 0;
LAB_00401107:
if ((iVar3 == 0) && (local_64 == 'E')) { ;E
MessageBoxA(param_1,s_Congratulation_!!_00 406044,s_EasyCrackMe_00406058,0x40);
EndDialog(param_1,0);
return;
}
}
}
MessageBoxA(param_1,s_Incorrect_Password_004 06030,s_EasyCrackMe_00406058,0x10);
return;
}
Ea5yR3versing

i luv ida qaq

same code so easy in ida

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int __cdecl sub_401080(HWND hDlg)
{
CHAR String[97]; // [esp+4h] [ebp-64h] BYREF
__int16 v3; // [esp+65h] [ebp-3h]
char v4; // [esp+67h] [ebp-1h]

memset(String, 0, sizeof(String));
v3 = 0;
v4 = 0;
GetDlgItemTextA(hDlg, 1000, String, 100);
if ( String[1] != 'a' || strncmp(&String[2], Str2, 2u) || strcmp(&String[4], aR3versing) || String[0] != 69 )
return MessageBoxA(hDlg, aIncorrectPassw, Caption, 0x10u);
MessageBoxA(hDlg, Text, Caption, 0x40u);
return EndDialog(hDlg, 0);
}