Contents

KCTF 2022春季赛 第九题 同归于尽

文章发布至看雪《KCTF 2022春季赛 第九题 同归于尽》

OpenArk扫描,32位,这anti得有点过于明显,ida x32分析之。 /posts/2022/kctf-2022-spring-9/res/1.png

基本流程

  • 输出 — 阿弥陀佛
  • 输入 — FLAG
  • flag首位必为A,赋值在前,构造0x90数组
  • 开线程,127.0.0.1收发json数据
  • 反分析、校验代码

保护措施

  • int 2d anti-debug
  • bedebugged anti-debug
  • debug object anti-debug
  • 一堆无用递归浮点,干扰分析
  • 字符串加密

关键代码

  • 根据输出函数,xref找到关键函数,x64dbg调试。
  • 无视一大堆干扰代码,回溯找到关键跳转
  • SM4加密,key=609CB8FF000000B988000000B8550000
  • 比较加密值,val=553786E89B5D05F55FDC04DDE12A7721

FLAG

  • SM4解密后数据做个变换,ABCDEF01234567890 变换 FE98BA54761032DC5
  • 最终FLAG:AFF7AEFB8AEFF697B6B915FA9818CB16