BUUCTF Reverse/[BJDCTF2020]BJD hamburger competition

通过反编译Unity3D游戏中的Assembly-CSharp.dll文件,解析出特定的食物组合触发flag的输出条件。利用SHA1和MD5加密算法计算出正确的flag。

BUUCTF Reverse/[BJDCTF2020]BJD hamburger competition

在这里插入图片描述

下载得到一个unity3d游戏

在这里插入图片描述

运行是一个老八吃汉堡小游戏(建议搭配耳机食用)

在这里插入图片描述

打开这个目录 BJD hamburger competition_Data\Managed,然后找到Assembly-CSharp.dill这个文件,用NET-Reflector打开。(unity在打包后,会将所有的代码打进一个Assembly-CSharp.dll的文件里面,通过这个文件的反编译,就能详细看见里面的代码内容

在这里插入图片描述
在这里插入图片描述

找到有关食物的模块

在这里插入图片描述

看到flag的输出条件

在这里插入图片描述

分析代码

public void Spawn()
{
   
   
    FruitSpawner component = GameObject.FindWithTag("GameController").GetComponent<FruitSpawner>();
    if (component)
    {
   
   
        if (this.audioSources.Length != 0)
        {
   
   
            this.audioSources[Random.Range(0, this.audioSources.Length)].Play();
        }
        component.Spawn(this.toSpawn);
        string name = this.toSpawn.name;
        if ((name == "汉堡底") && (Init.spawnCount == 0))
        {
   
   
            Init.secret += 0x3e5;
        }
        else if (name == "鸭屁股")
        {
   
   
            Init.secret -= 0x7f;
        }
        else if (name == "胡罗贝")
        {
   
   
            Init.secret *= 3;
        }
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ofo300

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

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

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

打赏作者

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

抵扣说明:

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

余额充值