boxmoe_header_banner_img

欢迎来到烨的世界~

加载中

文章导读

ISCC-re-2


avatar
liuye 2025年5月18日 28

前言:

世界还是抽象的~都说是顿悟赛实际上还是学到东西的。

Re-2

拿到以后标准查壳

无壳64

然后直接扔ida64去分析

先看最终判断

这里判断了v13和input值

这里input是我自己改名的因为input就是输入没变化,原本忘了,大概位置就是这里自己找

然后向上看v13怎么来的

v13

是从这里

这里这个莫名其妙函数不知道是什么不过可以问ai,问完大致意思就是v13是用来构造生成存储的数组然后v7是begin,v6是end然后v22是什么一个调用器?

所以可以得到v13是用v7+v6来决定产生的,所以分析v7和v6

这里我在分析完注释了v7和v6来源

所以不管v6还是v7主要都是依靠vector这个函数

这个函数可以直接写脚本时候调用问题不大

直接继续向上

v6和v7组要需要v23,18和v14

v14来自v11

然后就看到了一个核心函数

这个我改名的jiamihanshu就是核心加密函数

原本是叫obf…..什么的

进加密函数看一下

这里有异或操作

然后实际上这还是有轮加密就在那个obfF里面,这种加密名字叫​​Feistel解密轮

点金obFf函数就能看见移位a1移了3

再加上外面的异或就是很经典异或移位。

所以这是我认为的核心加密函数

所以已经了解核心加密函数就可以接着往上推

我们说到要v14,v14来自v11

而核心加密函数给了三个元素v12,v16和v11

已知v11往后要用

再看v12和v16

这里v16直接就有了v16[0~7],这里在我看来就是核心加密函数的密钥也就是v16

而v12应该就是原数据通过核心加密函数与密钥v16加密得到了v11

所以还是要看v12出自哪里?

v12出自v15

v15来自v21和v10

而v10来自v20也就是很长的一堆数据

所以v15就间接性由v20推到

流程结束了

所以我们由v16和v20经过流程就得到了v13然后用v13和flag比较就有了答案

但是啊这题由非预期解?不确定

在这下断点

然后进入v6

向上面翻一下就会看到ISCC{FLAG}

交了是对了



评论(0)

查看评论列表

暂无评论


发表评论