[Toddler's Bottle]-coin1

  • 一道考驗(yàn)二分法的編程題,直接寫腳本但是連接太慢了,所以ssh連上以前的服務(wù)器上跑
from pwn import * 

#context.log_level = 'debug'

p = remote('pwnable.kr', 9007)

p.recvuntil('- Ready? starting in 3 sec... -')



def senddata(num_start,num_end,C,count,coin = 0):

    #print 'num_start: %d , num_end: %d'%(num_start,num_end)
    #print 'C: %d,count: %d'%(C,count)


    if count == C:
        p.sendline(str(coin))
        return 

    a = ''
    for i in range(num_start,(num_end+num_start)/2+1):
        a += str(i) + ' '

    p.sendline(a)

    data = p.recvuntil('\n',drop=True)

    if data[-1] != '9':
        senddata((num_end+num_start)/2+1,num_end,C,count+1,num_end)
    else:
        if num_end - num_start == 1:
            coin = num_start
        senddata(num_start,(num_end+num_start)/2,C,count+1,coin)

i = 0
while True:
    i += 1
    print i
    p.recvuntil('N=')
    N = int(p.recvuntil(' ',drop = True))
    p.recvuntil('C=')
    C = int(p.recvuntil('\n',drop = True))


    senddata(0,N,C,0)


p.interactive()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容