<aside>
📌 Làm nóng người 1 tí
Flag format: KCSC{}
</aside>
Mở file trong IDA64, chương trình cho người dùng nhập vào và so sánh với một chuỗi cho trước.
int __fastcall main(int argc, const char **argv, const char **envp)
{
char Str1[256]; // [rsp+20h] [rbp-60h] BYREF
_main(argc, argv, envp);
puts("Nh4p. v40` f149 v4` nh4n' [3N73R]");
while ( 1 )
{
if ( !gets(Str1) )
{
return 0;
}
if ( !strcmp(Str1, "S0NTQ3tDaDQwYF9NfF98bjlgX0QzTidfVjAxJ183N1wvX0tDU0N9") )
{
break;
}
puts("Sai roi. Hay thu lai");
}
return printf("Great!!!");
}
Chuỗi này khá giống với chuỗi bị mã hóa base64. Lên CyberChef decode nó và thu được flag
KCSC{Ch40_M|_|n9_D3N'_V01'_77\\/_KCSC}
<aside> 📌 Just find flag in file, no need netcat
</aside>
Load file vào IDA64, dùng shortcut Shift + F12 để kiểm tra các string, ta có được phần đầu và phần cuối của flag là KCSC{A_gift_
và pwners_0xdeadbeef}
.
Kiểm tra hàm secret()
, ta có được phần giữa của flag là for_the_
.
Flag đầy đủ của bài toán là KCSC{A_gift_for_the_pwners_0xdeadbeef}