• CG-CTF single


    一.拖入ida,先静态分析一下
    在这里插入图片描述
    发现有三个函数,点击进去看看
    在这里插入图片描述
    a1为0时,当a2[i]为0时,将自身的值赋值到该位置,a1为0时,就不需要动。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述这三个函数都是在暗示这东西是个数独,每行每列,都有1到9的数字,并且不能重复。。。
    把之前的数取出来,用在线的数组求解器操作一下
    在这里插入图片描述
    同时写个脚本,将之前不是零的地方改成0,就是flag

    shudu=[0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x02, 0x04, 0x09, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x07, 0x00, 0x06, 0x00, 0x07, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x04, 0x00, 0x07, 0x00, 0x00, 0x07, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
    for i in range(9):
      for j in range(9):
        print(str(int(shudu[9*i+j]))+" ",end="")
      print("")
    flag="431695728657832491892147365746321589518479632923586147185964273374218956269753814"
    trueflag=""
    for i in range(9):
      for j in range(9):
        if shudu[9*i+j]!=0:
          trueflag+="0"
        else:
          trueflag+=flag[9*i+j]
    print(trueflag)
    
    

    在这里插入图片描述

  • 相关阅读:
    JAVA算术运算符
    java框架
    面向对象DAO模式
    JAVA JDK配置
    集合框架
    异常
    centos 部署 aspnetMVC 网页
    SQL四种语言:DDL,DML,DCL,TCL 的区别
    javascript download geoserver layer as kml file
    常用协议 —— hessian://
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779885.html
Copyright © 2020-2023  润新知