0%

1

2025-11-20 12:07By
iscat
逆向技术REVERSE数独

Problem: [MoeCTF 2021]A_game

思路

  • 解题大致思路
  • 题目逻辑为,给定一个一维数组作为数独内容
  • 用户输入内容为str减去48填入为0的部分
  • 进行三次检查(行,列,九格内)
  • flag为str内容与一个key数组进行异或的值

EXP

enc = [
    0,   0,   5,   0,   0,   4,   3,   6,   0,   0, 
    0,   0,   0,   5,   0,   0,   2,   4,   0,   4, 
    9,   6,   7,   0,   0,   0,   0,   1,   0,   6, 
    0,   2,   0,   0,   3,   0,   9,   0,   0,   7, 
    0,   0,   1,   0,   8,   0,   3,   0,   0,   0, 
    5,   0,   9,   0,   2,   0,   0,   5,   0,   7, 
    0,   0,   9,   7,   0,   4,   0,   0,   0,   8, 
    0,   0,   0,   9,   0,   0,   4,   0,   0,   0, 
    6,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
    0,   0,   0,   0,   0,   0
]

key = [
  0x6B, 0x02, 0x66, 0x70, 0x44, 0x69, 0x7E, 0x6E, 0x43, 0x4A, 
  0x78, 0x4A, 0x6D, 0x60, 0x56, 0x00, 0x51, 0x59, 0x50, 0x43, 
  0x50, 0x51, 0x6D, 0x74, 0x02, 0x55, 0x50, 0x52, 0x6E, 0x6F, 
  0x79, 0x40, 0x5D, 0x4B, 0x1E, 0x19, 0x1C, 0x74, 0x03, 0x54, 
  0x07, 0x4C, 0x52, 0x6A, 0x60, 0x50, 0x58, 0x40, 0x58, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00
]

temp = '8291767138932581849755263447186268341129653538127'

for i in range(len(temp)):
    print(chr(ord(temp[i]) ^ key[i]),end='')

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有

加载中...

加载失败
广告
×
评论区
添加新评论