You've arrived in the Galactic Archive, sure that a critical clue is hidden here. You wait anxiously for a terminal to boot up, hiding in the shadows from the guards hunting for you. Unfortunately, it looks like you'll need a password to get what you need without setting off the alarms...
Copy ltrace ./shell
printf ( "ctfsh-$ " ) = 8
fgets(ctfsh-$ test
"test\n" , 1024, 0x7fe582e2e980 ) = 0x7ffd880fa6b0
strchr( "test\n" , '\n' ) = "\n"
strdup( "test" ) = 0x555a30952ac0
strtok( "test" , " " ) = "test"
strtok(nil, " " ) = nil
strcmp( "ls" , "test" ) = -8
strcmp( "whoami" , "test" ) = 3
strcmp( "cat" , "test" ) = -17
strcmp( "getflag" , "test" ) = -13
strcmp( "help" , "test" ) = -12
fprintf(0x7fe582e2f5c0, "No such command ` %s `\n" , "test" No such command ` test `
) = 23
free(0x555a30952ac0 ) = < void >
printf ( "ctfsh-$ " ) = 8
fgets(ctfsh-$
Copy fgets (( char * ) & input , 256 , stdin);
for (i = 0 ; i < 77 ; i = i + 1 ) {
* (byte * )(( long ) & input + ( long )( int )i) = * (byte * )(( long ) & input + ( long )( int )i) ^ m1[( int )i];
}
local_14 = memcmp ( & input , t , 77 );
if (local_14 == 0 ) {
for (j = 0 ; j < 77 ; j = j + 1 ) {
* (byte * )(( long ) & input + ( long )( int )j) = * (byte * )(( long ) & input + ( long )( int )j) ^ m2[( int )j];
}
printf( "Flag: %s \n" , & input) ;
uVar1 = 0 ;
}
else {
uVar1 = 0x ffffffff ;
}
return uVar1;
Copy breakrva 0x194d
x/64wx 0x555555556200
0x555555556200 < t > : 0x99b74a2c 0x7870e5a3 0xd9976e93 0xbd386d47
0x555555556210 < t+1 6> : 0x9985bbff 0xab4ae16f 0xa87bc374 0xecd79fb2
0x555555556220 < t+3 2> : 0xb263cdeb 0x84e12339 0xc6099692 0xfa58f299
0x555555556230 < t+4 8> : 0x5e6f6fcb 0x132bbe1f 0x99a9a58e 0x708fab93
0x555555556240 < t+6 4> : 0x3ec4c01c 0x3593fea6 0x10c9c390 0x000000e9
0x555555556250: 0x00000000 0x00000000 0x00000000 0x00000000
0x555555556260 < m 2> : 0xe2f51e64 0x1b4497c0 0xbef95ff8 0x8e485d18
0x555555556270 < m2+1 6> : 0xf1f6e491 0x9e268d5c 0xf702a12b 0xb3e4f7c6
0x555555556280 < m2+3 2> : 0xed57fe98 0xf6d14b4a 0xc609eba1 0xfa58f299
0x555555556290 < m2+4 8> : 0x5e6f6fcb 0x132bbe1f 0x99a9a58e 0x708fab93
0x5555555562a0 < m2+6 4> : 0x3ec4c01c 0x3593fea6 0x10c9c390 0x736150e9
Copy t: 2c4ab799a3e57078936e97d9476d38bdffbb85996fe14aab74c37ba8b29fd7ecebcd63b23923e184929609c699f258facb6f6f5e1fbe2b138ea5a99993ab8f701cc0c43ea6fe933590c3c910e9
m2:641ef5e2c097441bf85ff9be185d488e91e4f6f15c8d269e2ba102f7c6f7e4b398fe57ed4a4bd1f6a1eb09c699f258facb6f6f5e1fbe2b138ea5a99993ab8f701cc0c43ea6fe933590c3c910e9