re学习笔记(86)攻防世界 - mobile区 - 你是谁

113 篇文章 23 订阅
38 篇文章 13 订阅

JAVA层

在这里插入图片描述
入口为SplashActivity

SplashActivity

启动了MainActivity
在这里插入图片描述

MainActivity

百度搜索com.iflytek.cloud.RecognizerListener是科大讯飞的一个语音识别模块
识别到"你好"后进行Toast弹窗"haha"
在这里插入图片描述

background

onTouch

在这里插入图片描述

根据字符串提示找到这里
在这里插入图片描述
查看this.check()方法

this.check()

在这里插入图片描述

public boolean check() {
        return this.matrix[1][1].getStatus() == 1 && this.matrix[1][2].getStatus() == 1 && this.matrix[1][7].getStatus() == 1 && this.matrix[1][8].getStatus() == 1 && this.matrix[2][0].getStatus() == 1 && this.matrix[2][3].getStatus() == 1 && this.matrix[2][6].getStatus() == 1 && this.matrix[2][9].getStatus() == 1 && this.matrix[3][0].getStatus() == 1 && this.matrix[3][4].getStatus() == 1 && this.matrix[3][5].getStatus() == 1 && this.matrix[3][9].getStatus() == 1 && this.matrix[4][0].getStatus() == 1 && this.matrix[4][9].getStatus() == 1 && this.matrix[5][1].getStatus() == 1 && this.matrix[5][8].getStatus() == 1 && this.matrix[6][2].getStatus() == 1 && this.matrix[6][7].getStatus() == 1 && this.matrix[7][3].getStatus() == 1 && this.matrix[7][6].getStatus() == 1 && this.matrix[8][4].getStatus() == 1 && this.matrix[8][5].getStatus() == 1;
    }

其中this.matrix会被初始化为0,在initGame方法
也就是说点击一下就改status为1
根据二维数组点击出来是个爱心
在这里插入图片描述

initGame

在这里插入图片描述

onResult

将语音识别后的字符串传给了 getsna方法
在这里插入图片描述

getsna

将每个字符转成int后排序
在这里插入图片描述

You get the sorted flag:20667 25105 26159 36924

flag

java写脚本

    public void TiTest() {
        int[] as = new int[4];
        as[0] = 0x50BB;
        as[1] = 25105;
        as[2] = 0x662F;
        as[3] = 0x903C;
        for(int i=0;i<4;i++){
            char ch = (char) as[i];
            System.out.println(ch);
        }

得到输出

傻
我
是
逼

其中这里要用java写脚本,因为java的char类型是UTF-16编码
可以识别汉字

排序后

25105 26159 20667 36924

则flag为flag{25105 26159 20667 36924}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forgo7ten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值