某市-2024【网安·理论】初赛-web1-扫雷-wp

进来是个简单的扫雷
在这里插入图片描述
看源码是纯js写的
在这里插入图片描述
看了下主要格子之类的生成逻辑在jms.js里

在这里插入图片描述
其中flag的输出条件也包含在jms.js
在这里插入图片描述

格式化了一下
在这里插入图片描述

看特征是base64了,然后又经过了别的操作,不过他混淆了一下就懒得看了。

知道的是每过一个难度的都可以拿到1/3个flag,三个都过了拼一起就行

其index.js 作为入口

var jms = null,
    timeHandle = null;
window.onload = function () {
    var radios = document.getElementsByName("level");
    for (var i = 0, j = radios.length; i < j; i++) {
        radios[i].onclick = function () {
            if (jms != null)
                if (jms.landMineCount > 0)
                    if (!confirm("纭畾缁撴潫褰撳墠娓告垙锛�"))
                        return false;
            var value = this.value;
            init(value, value, value * value / 5 - value, value * value / 5);
            document.getElementById("JMS_main").style.width = value * 40 + 180 + 60 + "px";
        }
    }
    init(10, 10);
};

function init(rowCount, colCount, minLandMineCount, maxLandMineCount) {
    var doc = document,
        landMineCountElement = doc.getElementById("landMineCount"),
        timeShow = doc.getElementById("costTime"),
        beginButton = doc.getElementById("begin");
    if (jms != null) {
        clearInterval(timeHandle);
        timeShow.innerHTML = 0;
        landMineCountElement.innerHTML = 0;
    }
    jms = JMS("landmine", rowCount, colCount, minLandMineCount, maxLandMineCount);
    jms.endCallBack = function () {
        clearInterval(timeHandle);
    };
    jms.landMineCallBack = function (count) {
        landMineCountElement.innerHTML = count;
    };

    //涓衡€滃紑濮嬫父鎴忊€濇寜閽粦瀹氫簨浠�
    beginButton.onclick = function () {
        jms.play();//鍒濆鍖�

        //鏄剧ず鍦伴浄涓暟
        landMineCountElement.innerHTML = jms.landMineCount;

        //寮€濮�
        jms.begin();

        //鏇存柊鑺辫垂鏃堕棿
        timeHandle = setInterval(function () {
            timeShow.innerHTML = parseInt((new Date() - jms.beginTime) / 1000);
        }, 1000);
    };
}

下了几个断点
在这里插入图片描述
切换到中级难度,可见init调用时传入了15

而后走到调用了JMS
在这里插入图片描述
在这里插入图片描述

这里传入了30和45

然后到jms.js里生成就变成了30和45之间rand

在这里插入图片描述
跑飞一下看看

在这里插入图片描述
首先我改掉了他web的html传参的这仨
在这里插入图片描述
全改成了1

在这里插入图片描述
通关了但是不弹flag
在这里插入图片描述
然后考虑了下可能是click的参与到了后续的flag输出的运算,于是还原了下,只改了雷的传参部分

修改init的两个相关雷数量的传参

在这里插入图片描述

初始的init也可以改一下,不然第一次的初级还是正常的10个雷,需要来回切一下

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值