Difficulty: easy

Category: rev

Author: xnull

Description:

### Secure Password Vault

This program asks for a password. If you enter the correct password, it grants you access.

Figure out what password the program expects by looking at its code.

Solution

Again, when using a disassembler (here r2ghidra), we can see the flag:

ulong sym.check_password(char *arg1)

{
    int64_t iVar1;
    ulong uVar2;
    ulong var_8h;

    iVar1 = fcn.004010c8(arg1);
    if (iVar1 == 0x26) {
        if (*arg1 == 'E') {
            if (arg1[1] == 'N') {
                if (arg1[2] == 'D') {
                    if (arg1[3] == 'L') {
                        if (arg1[4] == 'M') {
                            if (arg1[5] == '{') {
                                if (arg1[6] == 'p') {
                                    if (arg1[7] == '4') {
                                        if (arg1[8] == 's') {
                                            if (arg1[9] == 's') {
                                                if (arg1[10] == 'w') {
                                                    if (arg1[0xb] == '0') {
                                                        if (arg1[0xc] == 'r') {
                                                            if (arg1[0xd] == 'd') {
                                                                if (arg1[0xe] == '_') {
                                                                    if (arg1[0xf] == 'c') {
                                                                        if (arg1[0x10] == 'h') {
                                                                            if (arg1[0x11] == '3') {
                                                                                if (arg1[0x12] == 'c') {
                                                                                    if (arg1[0x13] == 'k') {
                                                                                        if (arg1[0x14] == '1') {
                                                                                            if (arg1[0x15] == 'n') {
                                                                                                if (arg1[0x16] == 'g') {
                                                                                                    if (arg1[0x17] '_') {
                                                                                                        if (arg1[0x18] == '7') {
                                                                                                            if (arg1[0x19] == 'f') {
                                                                                                                    if (arg1[0x1a] == '3') {
                                                                                                                        if (arg1[0x1b] == 'a') {
                                                                                                                            if (arg1[0x1c] == '}') {
                                                                                                                                ...

Flag: ENDLM{p4ssw0rd_ch3ck1ng7f3a}