#-*- coding:utf-8 -*-
# SyntaxError: Non-ASCII character '\xeb' 발생하므로 맨 앞에 추가
from pwn import *
# time expired 뜨네,, (인터넷 연결 문제?)
# 이전에 썼던 pwnable.kr의 ssh 계정 하나 사용해서 내부에서 스크립트 실행해보자
# nc ip port = remote(IP, PORT)
# s = ssh(user="shellshock", host="pwnable.kr", port=2222, password="guest")
# p = s.remote("localhost", 9007)
# 이래도 시간부족 -> 아예 /tmp 아래 폴더 하나 만들고 python 파일 만들어서 실행시키자
p = remote("localhost", 9007)
def binSearch(l, r):
if l>=r:
return l
m = (l+r)//2
pay = ""
for i in range(l, m+1):
pay += str(i)+" "
p.sendline(pay)
#print(pay+"\n")
res = int(p.recvline()[:-1])
if res%10==0:
return binSearch(m+1,r)
else:
return binSearch(l,m)
p.recvuntil("- Ready? starting in 3 sec... -")
p.recvline()
p.recvline()
p.recvuntil("N=")
while True:
N = int(p.recvuntil(" ")[:-1])
p.recvuntil("C=")
C = int(p.recvline()[:-1])
# print("N="+str(N)+", C="+str(C))
idx = binSearch(0, N-1)
p.sendline(str(idx))
tmp = p.recvline()
while tmp==b"9\n": # 다 구해도 기회 남는 경우 있음 -> 정답 다시 보낸다
p.sendline(str(idx))
tmp = p.recvline()
print(tmp)
flg = p.recvn(2)
if flg!=b"N=":
break
print(str(flg))
p.interactive()