美文网首页
CTF-MISC-好多数值 #python#Image

CTF-MISC-好多数值 #python#Image

作者: Watanuki | 来源:发表于2018-08-23 16:04 被阅读0次

    好多数值——flag{youc@n'tseeme}

    描述

    一串RGB值,
    255,255,255
    255,255,255
    255,255,255
    255,255,255
    255,255,255
    ……

    分析

    python画图撸代码
    思路是:
    1.行数n因数分解,由于可能有很多结果,引入交互(是有多懒)
    2.因为不确定哪个是X哪个是Y,调用了两次画图函数。
    虽然题目很简单,但是这种一键操作的服务大众精神值得鼓励!而且我复习了画图的原理!需要来点艺术放松身心!

    过程中出现了各种错……于是一路改
    最终结果
    from PIL import Image
    
    def Crack(n):#因数分解
        flag = []
        for each in range(2,int(n **0.5)+1):
            if(n % each == 0):
                print(each,int(n/each))
                flag += [(each,int(n/each))]
        if len(flag) == 1:return flag[0]
        else:
            choice = input("选择第几组(0-%s):"%(len(flag)-1))
            return flag[int(choice)]
    def Paint(X,Y,listrgb):#根据字符串列表画图
        pic = Image.new("RGB",(X, Y))
        i=0
        for x in range (0,X):   
            for y in range (0,Y):
                temp = listrgb[i].split(',')
                pic.putpixel([x,y],(int(temp[0]),int(temp[1]),int(temp[2])))
                i = i+1
        pic.show()
        #pic.save(r"C:\Users\ben\Desktop\flag%s.png"%(X))
    listrgb = open(r"C:\Users\ben\Desktop\1.txt").readlines()
    X,Y = Crack(len(listrgb))
    Paint(X,Y,listrgb)
    Paint(Y,X,listrgb)
    

    总结

    1.可能影响画图结果的因素有:长宽值交换(不对的话会贼丑)、先循环x还是先循环y(不对的话会镜面)
    2.最后提交的时候一直出错……原来单引号是中文的……
    人间不值得


    相关文章

      网友评论

          本文标题:CTF-MISC-好多数值 #python#Image

          本文链接:https://www.haomeiwen.com/subject/gfhmiftx.html