KCTF 2022春季赛 第九题 同归于尽
Contents
文章发布至看雪《KCTF 2022春季赛 第九题 同归于尽》
OpenArk扫描,32位,这anti得有点过于明显,ida x32分析之。
基本流程
- 输出 — 阿弥陀佛
- 输入 — 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