das202308-出题

type
status
date
slug
tags
summary
category
icon
password
😭
没啥人来打俩题加起来一个解qaq

fakeapple

出题想法:现在大伙做题尤其是vm喜欢囫囵吞枣动调对电波了事,特弄了个很难调的,ios端vm,并且opcode数量加上去以后会有多数机型闪退的问题(没加检测,有的师傅可能误认为有越狱检测了,不过事实上是单纯的栈顶到太高地址导致炸了)
打开文件,是很明显的ios编译产物
需要关注的就是里面的chall文件
这题鼓励静态解题,如果需要动态解题的话需要越狱真机环境进行安装,并且由于虚拟机内存占用较大,多数机型运行会崩溃
不过这里可以看看运行效果,其实只有一个输入框,在组件命名上也没有过多为难
notion image
对应的就是这里的method:
notion image
可以进到主逻辑
可以看出,这里是一个cpp 虚表做的vm
notion image
可以看这篇的类型设置恢复:
或者直接通过汇编的偏移设置结构体进行重命名,原理相同
这里直接给出case的结论:
notion image
出于算法简化的考虑,本题实际只使用了add sub两种,不过魔改为数电的算法,实际上这里就是加法操作,其他运算同理(这里有点无伤大雅的小锅,出题人复制错了一个,细心的师傅会发现有两个xor)
还原流程,36个方程组,写出解密代码:

whyapple

打开包,题目描述比较关键,有两种定位方法,一种通过搜索关键词,可以知道这是某音商业软件的包,而该软件比较著名的安全风控字段就是“六神”(现在不止,即若干带有x-开头的字段)
并且题干提示了”设备注册检查策略“,定位到这一个包
notion image
这一个包也是这个软件核心的风控包,可以搜索了解到
可以看到header里面有一段重复的,即小x犯的错,mock时增加了字段,对比上面的正常字段可知需要分析这里
notion image
这里比较异常的字段都是给出了明文,依据长度可以判断出来是key,依据重复字段判断出来是被修改的,尝试几次发现是密文:
根据长度猜测是AES,解得到一个20位的key
notion image
由于key长度不符合常见加密,猜测得到:
notion image
上一篇
flask ssti
下一篇
macos刷系统
Loading...
文章列表
Hi~, I ‘m moyao
reverse
pwn
pentest
iot
android
others
ctf
iOS