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

