SUSCTF2022 Misc-AUDIO&RA2
前言:这次参加了susctf感受颇深,题目难度不是很大很大,但是很考验基础的技术熟练度,比如re这次就因为不会套脚本去解密,导致卡死在了第一道题,一道没做出来。所以只做了做misc和web。
RA2


根据README中的步骤启动游戏:Step1:运行make.cmd Step2:运行launch-game.cmd并启动游戏。

看到游戏是红警,首先想到的是下载修改器,但是这个游戏的进程文件是OpenRA.exe因此修改器肯定是识别不出来的,如果要是改程序的名字,那么启动器就启动不了。所以首先想到的是用ce去修改。

初始金额1900,打开CE进行修改。建造一圈围墙用来保护基地(围墙是无敌的......)。

这里出现了金额数据的地址,但有两个,经过测试,发现分别组成金额的上限和下限(不是很理解为什么会有上下限)。

以最快的速度造出UFO,这样就可以全图跑了,去找flag。
得到flag:SUSCTF{RED_ALERT_WINER!!!}
AUDIO

根据hint所示,我们需要从attachment中找到隐藏的秘密,于是download下来有两个文件。

formfriends.wav和origin.mp3两个文件。

我分别听了一下这两个文件,发现origin中的声音和fromfriends相比质感很强更偏于原音频(未修改),并且这两个文件的大小差得离谱,我更相信肯定在fromfriends上做手脚,于是把重心放在了该文件上。

从该音频中,我听了至少30遍,从32s处会出现间隔明确较为清晰的电报音,于是根据耳朵的猜测一遍一遍的尝试,但是最终都没有成功得出flag,因此扔进Audition看看。

接着,打开Audition对音频文件进行观察,切换至频谱图。(在该图位置之前,我进行了降噪的处理,但是效果不理想,于是想到了之前做伴奏的经验,用中置声道提取消去不同频率的杂音)注意观察,"内容"集中在2khz~0hz之间。

于是对其在0hz~2khz范围内进行提取。

继续观察,0hz~至少20hz(保守估计)是无用信息,有点类似底噪?于是应该再进行一次提取,剔除0hz~20hz范围内的声音。

在提取出的频率范围内有很多横线,一时间让我不知所措,但是这个歌曲坚持听完,会在32s高潮结束后,vocal进来的一瞬间开始可以听到明显的滴滴声,于是根据这个线索,对照频谱图中的横线,去找是那些横线和发出的电报声的频率相吻合。于是锁定了在两处非常明显的吻合点,并且在同一水平线上对应着1khz的位置,那么不妨直接提取1khz(+-5hz)。

该图在1khz上下部分进行了处理(具体操作有两种1:选中上下部分使用delect进行静默;2:选中上下部分进行降幅处理即:-XdB),这下就很清楚了,但是有个问题,因为只有在32s以后才可以听到明确的电报音和停顿,所以在我们看到了很多很多的有轻有重的点横,很难分辨。

(诸如此类的干扰)

于是我从32s之后那些较为明确的moss码上下手,我想,会不会moss码的频率是相同的?于是找了较为清楚的位置(该位置的频谱图显示和我之前推测的一致,因此就在此处进行对比分析)于是我用大长方形框出的是于我推测的moss码吻合的点位,小长方块框出的位置很特殊,因为他很的频谱很重,因此我很迷惑,但是根据间距联系停顿,我觉得小方块的位置应该是干扰点,于是将我能听出来的位置间隔都进行了处理。

至此,我感觉我的方向应该是对的,继续根据这个逻辑进行处理。

处理至此,对于前面一大串没有处理的地方,有一次产生了疑惑。

放大频谱继续分析,前面一大串和后面明显是不等距的,并且前面绿框的频谱无论怎么组合,既不符合逻辑,也不符合刚才得出的等距的规律,并且这些属于前奏,在前奏中并未听出该处有什么异常,到感觉很乱,于是我仅仅对后面的moss码进行了转换。

最后得出flag:SUSCTF{MASTEROFAUDIO}

SUSCTF2022 Misc-AUDIO&RA2的更多相关文章
- 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速
作者:唐老师,华清远见嵌入式学院讲师. Android的启动速度一直以来是他的诟病,虽然现在Android设备的硬件速度越来越快,但是随着新 版本的出现,其启动速度一直都比较慢,当然,作为程序员,我们 ...
- Android 启动过程简析
首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...
- android init.rc 语法分析
此文来自于对http://source.android.com/porting/index.html中bring up段的简译.其中有一处与源码的 system/core/init/readme.tx ...
- 高新兴 ME3630-W 4G 模块 Android 平台适配
2019-04-26 关键字:高新兴 ME3630-W 适配.rk3128 移植 4G 模块 本篇文章系笔者在移植 高新兴物联 ME3630-W 4G 模块到运行着 Android4.4 操作系统的 ...
- 移植UC15 3G模块
https://blog.csdn.net/jack_a8/article/details/43114083 https://wenku.baidu.com/view/7ea5c9cd52d380eb ...
- Android RILD运行机制详解
前言 在上一篇文章里(http://blog.csdn.net/jason_wzn/article/details/53232022),简要介绍了Android RIL的架构.这一篇文章,就来看一看R ...
- Android系统init进程启动及init.rc全解析
转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ...
- Tiny4412 Android 启动流程
Android系统的启动主要包括三个阶段: ①BootLoader启动 ②Linux Kernel启动 ③Android系统启动 前面我们大致分析了前面两个步骤,即u-boot和内核的启动流程(内核启 ...
- Android——4.2 - 3G移植之路之 reference-ril .pppd 拨号上网 (三)
Android的RIL机制中的 reference-ril.c 即为厂商提供的驱动接口.这个驱动源代码各个厂商都是有提供的,网上也有下载.我如今用的就是huawei wcdma的.最后编译成libre ...
- android开机启动流程说明
android开机启动流程说明 第一步:启动linux 1.Bootloader 2.Kernel 第二步android系统启动:入口为init.rc(system\core\rootdir) 1./ ...
随机推荐
- Cesium入门5 - Cesium ion
Cesium入门5 - Cesium ion Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium io ...
- Servlet Cookie的使用
HTTP(超文本传输协议)是一个基于请求与响应模式的无状态协议.无状态主要指 2 点: 协议对于事务处理没有记忆能力,服务器不能自动维护用户的上下文信息,无法保存用户状态: 每次请求都是独立的,不会受 ...
- JavaFx 实现按钮防抖
原文地址:JavaFx 实现按钮防抖 | Stars-One的杂货小窝 Android平台的APP,一般是有需要进行设置按钮的防抖(即在短时间内无法多次点击),我想在JavaFx项目中也是实现防抖功能 ...
- golang中goroutine协程调度器设计策略
goroutine与线程 /* goroutine与线程1. 可增长的栈os线程一般都有固定的栈内存,通常为2MB,一个goroutine的在其声明周期开始时只有很小的栈(2KB),goroutine ...
- gin中模型的绑定和验证
要将请求体绑定到结构体中,使用模型绑定. Gin目前支持JSON.XML.YAML和标准表单值的绑定(foo=bar&boo=baz). Gin使用 go-playground/validat ...
- JavaScript如何实现上拉加载,下拉刷新?
转载地址: 面试官:JavaScript如何实现上拉加载,下拉刷新? 一.前言 下拉刷新和上拉加载这两种交互方式通常出现在移动端中 本质上等同于PC网页中的分页,只是交互形式不同 开源社区也有很多优秀 ...
- 学习JAVAWEB第八天
1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 * 如: html,c ...
- 学习Java第3天
今天所做的工作: 1.循环结构 2.字符串 3.数组 4.面向对象概述 明天工作安排: 1.类和对象 2.包装类 所遇到的问题及解决方法: 1.循环foreach语句 2.字符串初始化与c++的差异 ...
- ApacheCN Python 译文集 20211108 更新
Think Python 中文第二版 第一章 编程之路 第二章 变量,表达式,语句 第三章 函数 第四章 案例学习:交互设计 第五章 条件循环 第六章 有返回值的函数 第七章 迭代 第八章 字符串 第 ...
- 关于mysql,需要掌握的基础(二):JDBC和DAO层
目录 关于mysql,需要掌握的基础(二):JDBC和DAO层 1.了解jdbc是什么? 2.加载注册驱动:为什么Class.forName("com.mysql.jdbc.Driver ...