• hfctfwp(re)


    1.easy python revering
    看字节码操作,昂哥直接看直接写exp太强了,我就直接手动写了个源码出来(昂哥永远滴神)

    arr0=[249,91,149,113,16,91,53,41,8]
    arr1=[43,1,6,69,20,62,6,44,24,113,6,35,0,3,6,44,20,22,127,60]
    arr2=[90,100,87,109,86,108,86,105,90,104,88,102]
    def check0(flag):
        for x in flag:
            if ord(x)<32 and ord(x)>=128:
                return True
        return False
    
    def check1(flag):
        if len(flag)<100==False:
            return False
        if ((len(flag)*len(flag))%777)^233==513:
            return True
        else:
            return False
    
    def check2(flag):
        if (((((ord(flag[0])*128)+(ord(flag[1])))*128+(ord(flag[2])))*128+(ord(flag[3])))*128+ord(flag[4]))*128+ord(flag[5])!=3533889469877:
            return False
        else:
            if ord(flag[-1])+1!=125:
                return False
        return True
    w=lambda x,y:x^y #前一个和后一个异或
    def check3(flag):
        arr=map(ord,flag)
        a=arr[6:30:3]
        for i in range(len(a)):
            if((a[i]*17684+372511)%257)!=arr0[i]:
                return False
        b=arr[-2:33:-1]*5
        c=map(w,zip(b,arr[7:27]))
        if c!=arr1:
            return False
        p=0
        for i in range(28,34):
            if ((arr[i]+107)/16+77)!=arr2[p] and ((arr[i]+117)%16+99)!=arr2[p]:
                return False
            else:
                return True
    
    
    
    
    
    
    根据第一个check1,知道flag长度39
    第二个check2,前五个其实盲是flag{这五个字符,代入验证也是对的
    同时最后一个字符也就出来了,}是这个。
    第三个check3()里面之前是验证出ASCII码值大于32小于128,直接爆破,先将6,30,3的爆破出来,之后再继续往下看发现是38倒序过来,的才能求,所以要先求出3833的值,之后求完后,列表乘以5,是一模一样复制5个,说明是周期性,就用求余,再异或回去,再将剩余的也爆破一下。搞定。
    
    

    总结一下,不要盲目的用z3来求,直接爆破,简单快捷,然后就是py的一些性质,这次也见到了之前很多没学过的东西,完全是边打边学,其他题太难了,顶不住。

  • 相关阅读:
    看了一些Tab标签的效果,正好在学习前端,自己动手也写个把~
    js时间的操作,为了让cookie在当天24点过期~
    《转载》CSS换行问题
    【PHP项目】form表单的enctype属性
    php中处理字符串的常见函数
    PHP加密函数
    PHP判断时关于null,0,true,flase的值
    获取PHP页面的当前文件名(包括后缀名)
    php中关于empty()函数是否为真的判断
    【PHP】判断变量是否为控
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779873.html
Copyright © 2020-2023  润新知