XYCTF2024部分wp
Re
聪明的信使
发现是rot9
想起来不是简单的减9,是循环着来
1  |  | 
miao
和省赛的差不多
交叉引用过去
1  |  | 
大学生
第一次遇到dos系统
输入然后相邻两位异或
最后和密文比较
直觉是密文相邻两位异或
DebugMe
jadx混淆有点严重
不如jeb直接动调,不要下断点,直接attach之后click就有flag
1  |  | 
TrustMe
rc4解密
解密不够,去看其他方法,发现了decrypt,异或0xff,二进制位原来是1变为0,原来是0变为1
高版本没有debug
最后一部分没有注释,那估计是有用数据
发现还真是zip,同时也是apk,记得最后四位不要,这样才能在模拟器中打开
还是一个apk,flag从数据库中读出来
找到db文件了,但是在线工具一直打不开,应该要能想到已经被加密了(师傅提醒,有点misc),因为数据库这种不加密很危险
对着原本的文件头去异或,发现异或的是同一个数0xff,估计是第一个apk把所有有用文件都异或0xff了
异或后直接搜就能出
这样就能在线查看了
砸核桃
demo解压到本地就能脱壳了
baby_unity-2
https://www.52pojie.cn/thread-1580642-1-1.html
发现并没有需要的libil2cpp.so,用GameAssembler.dll代替
在师傅的提醒下发现有壳,其实想想也应该的,只有这个程序会有改动
用dnSpy打开,发现并没有具体实现
用ida打开GameAssembly.dll,但是找不到密文
发现sha1
ezcube
看颜色应该是三个中间块没有还原
且步数不能超过12
用z3不行
想到了最后一步还原公式
1  |  | 
今夕是何年-2
工具反编译不了
ez_rand-2
看上去像是真随机,没啥想法
何须相思煮余年-2
gpt生成的汇编看不懂
1  |  | 
Misc
神之套-2
一眼掩码攻击
套比flag多了flag.md,其他都一样
找到同样地址的地方,发现^0xff之后有压缩包
TCPL
直接运行不了
ida不能反编译,那就用ghidra
按照流程得到输出,但是好像没啥用
由于题目说是把1用下面的图片来代替,那么可以知道下面的图片也表示一个字母或者数字,仔细去看上面的反编译代码后半部分可以发现是在调换数组的元素,那么数组的0x0就可以忽略,同时由于是5×5的矩阵,那猜测第59行应该是×5,同理上面应该是直接异或i,最后用0代替1即可
1  |  | 
baby-AIO-2
去看so层发现关键函数
后来又给了一个apk,发现是vm