
RCTF2024部分题解
四道re(那个misc就是纯逆向)

Reverse
2048
审计源码,看出每轮将获得分数为输入的sorce,上限为当前得分,初次上限为1w,那么每次成功分数翻倍的情况下用不了几次即可到达100w分:

RCTF{you_are_2048_master}
bloker_vm
在每种case中下断点,可得到加密逻辑,
但是没看出反调试的影响在哪里。

解密代码:
1 |
|
RCTF{a_baby_debug_bloker}
PPTT
看到mian函数中先将输入写成二叉树层序存储,然后先序和中序遍历,并对中序的结果进行交换混淆,


v23,v24,v25存储的即为中序遍历的结果,z3解方程可得

z3解方程+还原:
1 |
|
一个一个验证所有解


RCTF{sjknwemqspsdaqtyua}
Misc
s1ayth3sp1re
这应该是个re题。
把文件拖进jadx查找判断胜利的条件:

直接看加密逻辑,简单异或:

写解密代码:
1 |
|

RCTF{CAWCAW1Kaka}