babyAnti

下载附件 是个apk文件

对于这类文件 都先放入模拟器运行一下看是否有切入点

然后可以使用jadx去看源代码

或者也可以解压出来找到.so文件拖入ida进行分析

打开模拟器 先运行一下(笔者是用的夜神模拟器)

如何下载去Google搜一下就好了

image-20230219093015720

发现是个小恐龙游戏

(就是哪个没网时浏览器的哪个放松-摸鱼游戏)

然后需要3000就会给flag 看着挺简单

Setting里面没啥东西 不影响

image-20230219093458459

然后去下载一个GG修改器

如何打过最近的RealWorldCTF体验赛的话应该就会马上找到切入点了 和哪个贪吃蛇游戏 很类似

(先说一句 比那个难点 ,可能是笔者太菜了 想了半天 )

这里笔者推荐下载GameGuardian.101.1_for_Nox_Bluestacks-GDaily.org

这个版本 适配于夜神的

找到分数的代码 发现挺多 不过类型不一样

先改改试试

image-20230219094111407

发现 有反作弊检测 好烦 (没整过 怎么办)

大致猜测了一下 用过ce (改加密数据) 的应该能猜到的

应该是相同地址类型byte的改成0/1是反作弊的

dword qword类型的是分数

image-20230219094233369

放到jadx去看一下 我测 找半天没找到main和cheat的代码

这个贴一下队里✌的图 ta用的jeb

image-20230219094646660

这是jadx的图

image-20230219094736912

然后试一下 过啦

flag{D1n0_Run_0ut_0f_The_F0rest_F1nally^_^}

image-20230219104459578

总结

这道题(队里大佬jiao的)猜出来的

怎么说呢 算是开拓思维了

挺好的 又知道了一种题型

Orz

出官方WP我去看看到底怎么个事

PZGalaxy - 爆破RC4

是个网页题

随便输一下 很明显是个error

image-20230219103726232

F12 看一下

找到关键函数

image-20230219103915079

发现key为8位并且前4位是2023

cipher给了出来 然后flag的前4位是“flag”

所以 很简单 暴破一下后四位key就好了

这儿去Google一个RC4解密脚本

小改一下就好了

贴exp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def RC4(keys):
cipher = [166, 112, 58, 220]
key = list(keys)
# KSA
S = [i for i in range(256)]
j = 0
for i in range(256):
j = (j + S[i] + ord(key[i % len(key)])) % 256
S[i], S[j] = S[j], S[i]
# PRGA
i = 0
j = 0
keystream = []
for k in range(len(cipher)):
i = (i + 1) % 256
j = (j + S[i]) % 256
S[i], S[j] = S[j], S[i]
keystream.append(S[(S[i] + S[j]) % 256])

enc = "".join(map(chr, [(cipher[i] ^ keystream[i]) for i in range(len(keystream))]))
if "flag" in enc:
print(key)


for i in range(48, 57): # 48-57 ---- 0-9
for j in range(48, 57):
for m in range(48, 57):
for n in range(48, 57):
RC4("2023" + chr(i) + chr(j) + chr(m) + chr(n))

#20230127

然后交一下20230127 过啦

flagflag{HitYourSoulAndSeeYoulnTheGalaxy}

image-20230219104225432

好的 本题完成

总结

这一题 还是很简单的 会RC4算法就好了

好的 本期结束 感谢观看

Orz