中国海洋大学ctf

xor++

异或

2024-04-25T14:18:06.png

v4=[37,40,36,33,60,42,60,30,20,40,36,40,41,97,50,39,63,32,12,9,32,104,55,46,4,63,53,106,17,7,4,61,14,17,38,14,26]
flag=""
k=67
for i in range(len(v4)):
    v4[i] ^= k
    flag+=chr(v4[i])
    k=k+1
print(flag)
# flag{buT_diff1cultY_w0nt_ch4Nge_muCh}

钩子

代码很多,直接通过关键字符串定位函数

​![image](assets/image-20240425215803-fn94zln.png)​

​![image](assets/image-20240425215817-iueyw9e.png)​

但是这是一个假的flag,代码被hook了,交叉引用看看哪里调用了函数

​![image](assets/image-20240425215919-nsama6b.png)​

找到上一级函数,定位到关键代码,是rc4加密,尝试解一下

​![image](assets/image-20240425215935-vszoni4.png)​

睡_Lite

这题我真是服了,搜了很多文章,有尝试过使用Hex2bin把hex文件转为bin文件,再分析,但是当时不知道为什么Hex2bin老是下载不了,遂放弃这种方法,结果最后答案就是这种方法

Hex2bin转hex文件为bin文件

Hex2bin工具下载可以参考

使用Hex2Bin软件将Hex文件转Bin文件_hex2bin.exe 怎么用-CSDN博客

直接下载解压就可以用,文件拖到这里,然后在源hex文件夹下会有bin文件,之后把bin文件放入ida分析

​![image](assets/image-20240425220621-thkjilg.png)​

判断架构

因为拖入ida需要选择文件对应架构,不然ida会分析不出地址

这里有点犯傻了,一直在找怎么判断是什么架构,(也是不熟)直接把hex文件放到chatgpt里面分析即可,AVR架构

​![image](assets/image-20240425221254-i49r2j9.png)​

​![image](assets/image-20240425221347-6naq4oh.png)​

一路ok

​![image](assets/image-20240425221454-75entvz.png)​

调用sub_48的就是

人傻了