SCTF2020 Writeup By W&M(Misc部分)
2020-07-23 15:58:56 Author: www.secpulse.com(查看原文) 阅读量:486 收藏

Can you hear

裸的无线电,手机软件robot36一把梭

PassWord Lock

照百度的教程起手 https://www.angelic47.com/archives/97/

ida打开后看到main函数,里面有很多寄存器操作,最后进入死循环。

找了一圈没找到中断服务函数,回过头来看初始化,发现了问题

对这个寄存器居然赋了好几次值,还有几次是重复的值,而且每次结束还要delay一下。

查资料了解是外部中断

所以这一位是模拟外部中断的,也就是开机假装按一次密码,然后把他对应过来就是1442413,得到flag

Dou dizhu

作为地主赢了就有弗拉格

AndroidDisplayBridge

题目给的流量包是scrcpy-server 产生的流量,要么提取屏幕上的数据,要么就是鼠标的轨迹。

往安卓端发送的屏幕操作数据包就是WRTE开头,OKAY是心跳包。

提取流量包整理下就可以看到鼠标出现的轨迹点位。

简单的画个图就好了。

EasyMisc

附件里的十六进制是不完整的jpg,在00 0E后补上FF 8D FF,然后将多余的00删去

再将整体逆序,可以得到一张jpg

图片十六进制中还藏有信息

图片备注中也有信息

根据提示将上面的字符串解R**,密钥为 that_is_not_right_man,得到flag

http://tool.chacuo.net/cryptrc4 ← 用这个网址解

PassWord Lock Plus

把ida里识别那些指令当作函数处理又能看到很多函数出来了,把字符串写进ram,然后串口打印下SCTF{,再模拟按一次密码。然后就开始等中断了。

几个按键中断函数其实我是不知道是怎么指向过来的,不过靠每个函数第一步挂起寄存器复位也猜个八九不离十了。MEMORY[0x2000003C]这一位是记录这是按到第几位密码的,然后中途按键会修改一下ram中的字符串,最后按下3时打开DMA使能,发送数据。(原来第一题的预期解在这里。。)

DMA发送ram数据到USART缓冲区,一切看着那么合理,flag就是交不上去(不过后面解出来了)


DMA这样配置的,串口缓冲区只有8位,所以发送每次取16位,高8位就被扔掉了,所以flag为that1s___rightflag

本文作者:PIG-Z

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/135948.html


文章来源: https://www.secpulse.com/archives/135948.html
如有侵权请联系:admin#unsafe.sh