移动互联网(APP)安全积分争夺赛 RE(部分解)
1845017719556138 CTF 175浏览 · 2025-03-29 14:23

移动互联网(APP)安全积分争夺赛 RE(部分解)

GoodLuck

如图:

image-20250329183741819.png
图片加载失败
image-20250329183833295.png
图片加载失败




结合ai分析,为MD5算法,有比对的哈希值,所以直接去网上查找,得到原始字符串为:r9d3jv1

网址:https://www.cmd5.com/default.aspx

babyapk

image-20250329184107457.png
图片加载失败


很明显,输入进行了babyxor变换,然后与密文进行对比,故提取libcreateso文件

放进ida里面查看:

image-20250329184250794.png
图片加载失败


很明显,这两个蓝色的函数是我们要关注的

hide_key对密钥进行了变换

image-20250329184331684.png
图片加载失败


另一边就是简单的异或

image-20250329184349110.png
图片加载失败


写一个脚本解密:

得到flag:flag{1873832fa175b6adc9b1a9df42d04a3c}

IOSApp

题目提示了去revealFlag函数里面找答案

image-20250329184912751.png
图片加载失败


把DefinitelyNotAVulnerableApp用ida打开

image-20250329185307743.png
图片加载失败


image-20250329185313045.png
图片加载失败


image-20250329185526209.png
图片加载失败
进入obfuscatedFlag.unsafeMutableAddressor(),翻找一下,找到了一串字符:'gmbh|zpvmppljohgps`nf~'


可以发现,gmbh就是flag每个字符加了1,解一下得到:flag{you_looking_for_me}

ezenc

image-20250329185905105.png
图片加载失败


很明显,验证的地方就是Valid的值,也就是在final boolean isValid = validateInput(input);这里赋值的,提取so文件,用ida打开

image-20250329190133354.png
图片加载失败


image-20250329190240159.png
图片加载失败


分析后得知,这是离散傅里叶变换算法,这东西之前也没学过,求助一下ai

运行后得到:
image-20250329190546910.png


木马

下下来有一个文件告诉我们接收到的数据

image-20250329221112500.png
图片加载失败


显然,这里的cipher就是我们接收到的数据,提取so文件看加密逻辑

image-20250329221249840.png
图片加载失败


已经提示的很明显了,就是aes的ECB加密模式

image-20250329221325777.png
图片加载失败


一直交叉引用可以看到,到达了解密函数,byte数组就是密钥,s就是密文

密钥解密后为:HolyBibleILoveU!一个简单的异或

image-20250329221559899.png
图片加载失败


密文用base64解密后放到cyberchef里面解密,得到flag:flag{7$1%j&6gh4}

1 条评论
某人
表情
可输入 255
用户PZOZaHi0Rw
2025-04-19 11:11 0 回复
师傅有附件吗