zoukankan      html  css  js  c++  java
  • pwnable.kr-coin1-witeup

    是一个小游戏,会给100堆小硬币,在每堆硬币中找到假币(重量为9,其他重量为10),其中每堆硬币都设置了金币数和固定的尝试次数。

    思路是:在每堆硬币中,在有限的尝试次数中对硬币通过二分法计算硬币重量不断缩小范围找到假币;这样操作100堆硬币,即顺利通关,获得flag。

    执行程序时,发现不能愉快地执行程序,会超时,应该是远程网络连接产生延迟的原因,解决方法是通过其他题目SSH登录服务器,在本机tmp文件夹下创建并运行脚本程序。

    程序代码:

    import time
    from pwn import *
    
    conn = remote('0', 9007)
    conn.recv(10024)
    for _ in range(100):
        line = conn.recv(1024).decode('UTF-8').strip().split(' ')
        print (line)
        n = int(line[0].split('=')[1])
        c = int(line[1].split('=')[1])
        left = 0
        right = n
    
        for _ in range(c):
            guess=' '.join(str(left) for left in range(left,int((left+right)/2)))
            print guess
            conn.sendline(guess)
            output = int(conn.recv(1024).decode('UTF-8').strip())
            if (output % 10 == 0):
                left = int((left+right)/2)
            else:
                right = int((left+right)/ 2)
        conn.sendline(str(left))
        print(conn.recv(1024).decode('UTF-8'))
    print(conn.recv(1024).decode('UTF-8'))
    conn.close()
  • 相关阅读:
    预备作业03 20162308马平川
    预备作业02 20162308 马平川
    预备作业01
    采用dlopen、dlsym、dlclose加载动态链接库
    FastCGI协议分析
    Fastcgi协议定义解释与说明
    linux exec函数族
    进程通信---FIFO
    FTP协议及工作原理详解
    HTTP协议详解
  • 原文地址:https://www.cnblogs.com/HYWZ36/p/10887251.html
Copyright © 2011-2022 走看看