Для прохождения лабы нужно получить серийный номер.
Solution
Пойду смотреть в статике:
int32_t main(int32_t argc, char** argv, char** envp)
void* const __return_addr_1 = __return_addr
int32_t* var_c = &argc
printf(format: "Enter serial number: ")
fgets(buf: &Buf, n: 0xb, fp: stdin)
if (Check() == 0)
PrintError()
else
PrintOK()
return 0
Сразу мы можем увидеть, что считывается 11 символов с клавиатуры. Вероятно это длина серийного номера. Гляну функцию Check:
int32_t Check()
if (strlen(&Buf) u<= 5)
return 0
if (
Buf[0] == 'c' &&
Buf[1][0] == '1' &&
Buf[2][0] == '4' &&
Buf[3][0] == 'a' &&
Buf[4][0] == 'e' &&
Buf[5][0] == 'B'
)
return 1
return 0
Ничего сложного. Серийный номер не должен быть меньше 5 символов. А в условии захардкожены нужные значения. Соберу их в единый ключ:
c14aeB
Сдам его на дашборде:
