前言:这次参加了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的更多相关文章

  1. 深入浅出 - Android系统移植与平台开发(六)- 为Android启动加速

    作者:唐老师,华清远见嵌入式学院讲师. Android的启动速度一直以来是他的诟病,虽然现在Android设备的硬件速度越来越快,但是随着新 版本的出现,其启动速度一直都比较慢,当然,作为程序员,我们 ...

  2. Android 启动过程简析

    首先我们先来看android构架图: android系统是构建在linux系统上面的. 所以android设备启动经历3个过程. Boot Loader,Linux Kernel & Andr ...

  3. android init.rc 语法分析

    此文来自于对http://source.android.com/porting/index.html中bring up段的简译.其中有一处与源码的 system/core/init/readme.tx ...

  4. 高新兴 ME3630-W 4G 模块 Android 平台适配

    2019-04-26 关键字:高新兴 ME3630-W 适配.rk3128 移植 4G 模块 本篇文章系笔者在移植 高新兴物联 ME3630-W 4G 模块到运行着 Android4.4 操作系统的 ...

  5. 移植UC15 3G模块

    https://blog.csdn.net/jack_a8/article/details/43114083 https://wenku.baidu.com/view/7ea5c9cd52d380eb ...

  6. Android RILD运行机制详解

    前言 在上一篇文章里(http://blog.csdn.net/jason_wzn/article/details/53232022),简要介绍了Android RIL的架构.这一篇文章,就来看一看R ...

  7. Android系统init进程启动及init.rc全解析

    转:https://blog.csdn.net/zhonglunshun/article/details/78615980 服务启动机制system/core/init/init.c文件main函数中 ...

  8. Tiny4412 Android 启动流程

    Android系统的启动主要包括三个阶段: ①BootLoader启动 ②Linux Kernel启动 ③Android系统启动 前面我们大致分析了前面两个步骤,即u-boot和内核的启动流程(内核启 ...

  9. Android——4.2 - 3G移植之路之 reference-ril .pppd 拨号上网 (三)

    Android的RIL机制中的 reference-ril.c 即为厂商提供的驱动接口.这个驱动源代码各个厂商都是有提供的,网上也有下载.我如今用的就是huawei wcdma的.最后编译成libre ...

  10. android开机启动流程说明

    android开机启动流程说明 第一步:启动linux 1.Bootloader 2.Kernel 第二步android系统启动:入口为init.rc(system\core\rootdir) 1./ ...

随机推荐

  1. 【算法】KMP

    @ 目录 一. 暴力匹配 二.KMP的基本思想 三.next[]的求法 1. 暴力求解 2. 递推求解 四.KMP算法 一. 暴力匹配 字符串匹配的最直接的方法就是暴力匹配,而KMP算法也是基于暴力算 ...

  2. 【代码分享】用redis+lua实现多个集合取交集并过滤,类似于: select key from set2 where key in (select key from set1) and value>=xxx

    redis中的zset结构可以看成一个个包含数值的集合,或者认为是一个关系数据库中用列存储方式存储的一列. 需求 假设我有这样一个数据筛选需求,用SQL表示为: select key from set ...

  3. 论文解读《The Emerging Field of Signal Processing on Graphs》

    感悟 看完图卷积一代.二代,深感图卷积的强大,刚开始接触图卷积的时候完全不懂为什么要使用拉普拉斯矩阵( $L=D-W$),主要是其背后的物理意义.通过借鉴前辈们的论文.博客.评论逐渐对图卷积有了一定的 ...

  4. (3)ESP32 Python 制作一个办公室温度计

    因为经常在办公室里面不知道实际室内温度是多少,所以用ESP32做了一个工具来进行温度&湿度的监测.在之前的文章当中,已经完成了ESP32的数据上云工作,如果要进行温度/湿度的检测.从原理上就是 ...

  5. WebGPU图形编程(3):构建三角形图元<学习引自徐博士教程>

    一.首先修改你的index.html文件 请注意主要在html页面修改添加的是需要加选择项:"triangle-list"和"triangle-strip",如 ...

  6. springmvc 配置拦截器

    package com.aaa.zxf.interceptor; import org.springframework.boot.autoconfigure.SpringBootApplication ...

  7. HBuilderX频繁关闭,导致启动不了?

    根据官方给出的指南(http://ask.dcloud.net.cn/article/35583),在我的电脑打开%appdata%下面的会有HBuilderX目录,把这个目录删除或改名就可以启动了:

  8. JS中的堆内存与栈内存

    在js引擎中对变量的存储主要有两种位置,堆内存和栈内存. 和java中对内存的处理类似,栈内存主要用于存储各种基本类型的变量,包括Boolean.Number.String.Undefined.Nul ...

  9. Block内存管理

    block是不是一个对象?是一个对象 如何判断当前文件是MRC,还是ARC 1.dealloc 能否调用super,只有MRC才能调用super 2.能否使用retain,release.如果能用就是 ...

  10. 让HTML和JSP页面不缓存从Web服务器上重新获取页面

    感谢原文作者:佚名 原文链接:https://www.jb51.net/web/100639.html 问题描述 用户退出后,如果点击浏览器上的后退按钮,Web应用将不能正确保护受保护的页面--在Se ...