MISC-物尽其用

ISCC2026 WriteUp 提交模板

MISC-物尽其用

解题思路

  1. 从 model_state.npz 提示确定目标表达式

image.png

image.png

对 base_hint_bytes 做 base64 解码和 gzip 解压后,可以得到:ISCC{MD5(flag1R||flag2G)}

train是个训练脚本,读取的是config.json。

image.png
查看json

{
  "training": {
    "epochs": 10,
    "batch_size": 1,
    "lr": 0.001
  },
  "callbacks": {
    "aux_log_enabled": false,
    "recovery_enabled":false

  }
}

可以看到两个关闭的选项,callbacks还是个回调。需要关键找一下这个callbacks。

使用IDA打开train.exe搜了下相关字符串,发现没有命中。直接跑下沙箱看看吧

image.png

发现原来会释放一些文件,估计真实逻辑就在这里面,先搜下字符串相关逻辑。

image.png

着手分析下core_secret.pyd文件,对其进行重建之后发现:

  • 从 RGB 三个通道提取 payload
  • 把三路 payload 重新写回图像 LSB
  • 只对 prefix ... suffix 中间那段做可复现打乱
  • normal 模式做固定通道置换 (R,G,B) -> (G,B,R)
  • 把原图和灰度/彩色图拼成四象限布局
  • RecoveryCallback
    • 负责隐藏 recovery 流程和 key 修复
  • ObfuscatedPayloadProcessor
    • 负责把原始 payload 做多步 bit 级混淆
  • SimpleStegoModel
    • 模型本体,带 forward 和 set_key

image.png

可以看到需要修改config.json文件

{
  "callbacks": {
    "aux_log_enabled": true,
    "recovery_enabled": true,
    "sched": "resume"
  }
}

image.png

成功触发hiden模式,输出了个outpng文件
lsb看下两个png图片·

image.png

image.png

Input.png
R: ISCC{ZmoKmIaCZp}
G: ISCC{BZunamPQaL}
B: ISCC{jIYrHdVhWr}

Output.png
R: ISCC{aaPZLQnmuB}
G: ISCC{dYWhrrHIVj}
B: ISCC{ImZCaZKpmo}

根据题目要求有:

```text
MD5("ZmoKmIaCZp" + "dYWhrrHIVj")
= abcacd4276967a3089ca27506882ad2d

所以有flag:ISCC{abcacd4276967a3089ca27506882ad2d}

Exp

posted @ 2026-05-19 16:26  MillionMind  阅读(18)  评论(0)    收藏  举报