Context

Writeup for Context (misc) - HackTheBox x Synack RedTeamFive CTF (2021) 💜

Solution

flag.js

var _0x5bf1 = [
    "apply",
    "constructor",
    "return\x20/\x22\x20+\x20this\x20+\x20\x22/",
    "^([^\x20]+(\x20+[^\x20]+)+)+[^\x20]}",
    "test",
    "function\x20*\x5c(\x20*\x5c)",
    "\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)",
    "init",
    "input",
    "return\x20(function()\x20",
    "console",
    "log",
    "warn",
    "info",
    "error",
    "table",
    "length",
    "prototype",
    "bind",
    "toString",
    "getElementById",
    "getContext",
    "width",
    "data",
    "putImageData",
    "src",
    "string",
    "while\x20(true)\x20{}",
    "counter",
    "debu",
    "call",
    "action",
    "gger",
    "stateObject",
];
var _0x3fc5 = function (_0x1434b1, _0x38863a) {
    _0x1434b1 = _0x1434b1 - 0x0;
    var _0xa3c332 = _0x5bf1[_0x1434b1];
    return _0xa3c332;
};
var _0x3ed749 = (function () {
        var _0x2f13e0 = !![];
        return function (_0x6a99d, _0x5328eb) {
            var _0x1d083d = _0x2f13e0
                ? function () {
                      if (_0x5328eb) {
                          var _0x397c95 = _0x5328eb[_0x3fc5(0x0)](
                              _0x6a99d,
                              arguments
                          );
                          return (_0x5328eb = null), _0x397c95;
                      }
                  }
                : function () {};
            return (_0x2f13e0 = ![]), _0x1d083d;
        };
    })(),
    _0x192dd6 = _0x3ed749(this, function () {
        var _0x567409 = function () {
            var _0xb51974 = _0x567409[_0x3fc5(0x1)](_0x3fc5(0x2))()[
                _0x3fc5(0x1)
            ](_0x3fc5(0x3));
            return !_0xb51974[_0x3fc5(0x4)](_0x192dd6);
        };
        return _0x567409();
    });
_0x192dd6();
var _0x56f765 = (function () {
    var _0x51e1c9 = !![];
    return function (_0x28f590, _0x26c9bd) {
        var _0x2a257d = _0x51e1c9
            ? function () {
                  if (_0x26c9bd) {
                      var _0x712956 = _0x26c9bd[_0x3fc5(0x0)](
                          _0x28f590,
                          arguments
                      );
                      return (_0x26c9bd = null), _0x712956;
                  }
              }
            : function () {};
        return (_0x51e1c9 = ![]), _0x2a257d;
    };
})();
(function () {
    _0x56f765(this, function () {
        var _0x4e0197 = new RegExp(_0x3fc5(0x5)),
            _0x5d0c20 = new RegExp(_0x3fc5(0x6), "i"),
            _0x54791b = _0x5d26ac(_0x3fc5(0x7));
        !_0x4e0197[_0x3fc5(0x4)](_0x54791b + "chain") ||
        !_0x5d0c20[_0x3fc5(0x4)](_0x54791b + _0x3fc5(0x8))
            ? _0x54791b("0")
            : _0x5d26ac();
    })();
})();
var _0xa3c332 = (function () {
        var _0x2bc65f = !![];
        return function (_0xc1f0a, _0x51adf2) {
            var _0x2484c8 = _0x2bc65f
                ? function () {
                      if (_0x51adf2) {
                          var _0x8ab605 = _0x51adf2[_0x3fc5(0x0)](
                              _0xc1f0a,
                              arguments
                          );
                          return (_0x51adf2 = null), _0x8ab605;
                      }
                  }
                : function () {};
            return (_0x2bc65f = ![]), _0x2484c8;
        };
    })(),
    _0x38863a = _0xa3c332(this, function () {
        var _0x5f1236 = function () {
                var _0x3bd042;
                try {
                    _0x3bd042 = Function(
                        _0x3fc5(0x9) +
                            "{}.constructor(\x22return\x20this\x22)(\x20)" +
                            ");"
                    )();
                } catch (_0x3aa1d0) {
                    _0x3bd042 = window;
                }
                return _0x3bd042;
            },
            _0x49d6ba = _0x5f1236(),
            _0x4372a6 = (_0x49d6ba[_0x3fc5(0xa)] =
                _0x49d6ba[_0x3fc5(0xa)] || {}),
            _0x130af6 = [
                _0x3fc5(0xb),
                _0x3fc5(0xc),
                _0x3fc5(0xd),
                _0x3fc5(0xe),
                "exception",
                _0x3fc5(0xf),
                "trace",
            ];
        for (
            var _0x26747d = 0x0;
            _0x26747d < _0x130af6[_0x3fc5(0x10)];
            _0x26747d++
        ) {
            var _0x1d8305 =
                    _0xa3c332[_0x3fc5(0x1)][_0x3fc5(0x11)][_0x3fc5(0x12)](
                        _0xa3c332
                    ),
                _0x1c3c03 = _0x130af6[_0x26747d],
                _0x5465f1 = _0x4372a6[_0x1c3c03] || _0x1d8305;
            (_0x1d8305["__proto__"] = _0xa3c332[_0x3fc5(0x12)](_0xa3c332)),
                (_0x1d8305[_0x3fc5(0x13)] =
                    _0x5465f1[_0x3fc5(0x13)][_0x3fc5(0x12)](_0x5465f1)),
                (_0x4372a6[_0x1c3c03] = _0x1d8305);
        }
    });
_0x38863a();
function flag(_0x233a80) {
    var _0x233a80 = document[_0x3fc5(0x14)](_0x233a80),
        _0x3e76a9 = _0x233a80[_0x3fc5(0x15)]("2d");
    (w = _0x233a80[_0x3fc5(0x16)]), (h = _0x233a80["height"]);
    var _0x1ba7da = [
            0xcc85, 0xcc89, 0xcc8d, 0xcc91, 0xcc95, 0xcdf1, 0xcdf5, 0xcdf9,
            0xcdfd, 0xce01, 0xce49, 0xce4d, 0xce51, 0xcec1, 0xcec5, 0xcec9,
            0xd071, 0xd075, 0xd079, 0xd07d, 0xd081, 0xd869, 0xd86d, 0xd871,
            0xd889, 0xd88d, 0xd891, 0xd899, 0xd89d, 0xd8a1, 0xd8a5, 0xd8a9,
            0xd8ad, 0xd8b1, 0xd8b5, 0xd8b9, 0xd8bd, 0xd8c1, 0xd8c5, 0xd8c9,
            0xd8cd, 0xd8d1, 0xd8d5, 0xd8d9, 0xd8dd, 0xd8e1, 0xd905, 0xd909,
            0xd90d, 0xd979, 0xd97d, 0xd981, 0xd9b5, 0xd9b9, 0xd9bd, 0xd9d1,
            0xd9d5, 0xd9d9, 0xd9dd, 0xd9e1, 0xd9e5, 0xd9e9, 0xda49, 0xda4d,
            0xda51, 0xda55, 0xda59, 0xda5d, 0xda71, 0xda75, 0xda79, 0xdac9,
            0xdacd, 0xdad1, 0xdae1, 0xdae5, 0xdae9, 0xdaed, 0xdaf1, 0xdaf5,
            0xdaf9, 0xdb11, 0xdb15, 0xdb19, 0xdb1d, 0xdb21, 0xdb25, 0xdb29,
            0xdb41, 0xdb45, 0xdb49, 0xdb6d, 0xdb71, 0xdb75, 0xdb79, 0xdb7d,
            0xdb81, 0xdb85, 0xdb89, 0xdb8d, 0xdbc5, 0xdbc9, 0xdbcd, 0xdbd1,
            0xdbd5, 0xdbd9, 0xdbdd, 0xdbe1, 0xdc25, 0xdc29, 0xdc2d, 0xdc39,
            0xdc3d, 0xdc41, 0xdc45, 0xdc49, 0xdc4d, 0xdc51, 0xdc55, 0xdc59,
            0xdc5d, 0xdc61, 0xdc79, 0xdc7d, 0xdcbd, 0xdcc1, 0xdcc5, 0xdcc9,
            0xdcdd, 0xdce1, 0xdce5, 0xdcf9, 0xdcfd, 0xdd01, 0xe4e9, 0xe4ed,
            0xe4f1, 0xe509, 0xe50d, 0xe511, 0xe529, 0xe52d, 0xe531, 0xe545,
            0xe549, 0xe54d, 0xe559, 0xe55d, 0xe561, 0xe565, 0xe581, 0xe585,
            0xe589, 0xe5f5, 0xe5f9, 0xe5fd, 0xe601, 0xe635, 0xe639, 0xe63d,
            0xe64d, 0xe651, 0xe655, 0xe659, 0xe661, 0xe665, 0xe669, 0xe6c9,
            0xe6cd, 0xe6d1, 0xe6d9, 0xe6dd, 0xe6e1, 0xe6ed, 0xe6f1, 0xe6f5,
            0xe749, 0xe74d, 0xe751, 0xe75d, 0xe761, 0xe765, 0xe769, 0xe771,
            0xe775, 0xe779, 0xe78d, 0xe791, 0xe795, 0xe799, 0xe7a1, 0xe7a5,
            0xe7a9, 0xe7ad, 0xe7c1, 0xe7c5, 0xe7c9, 0xe7ed, 0xe7f1, 0xe7f5,
            0xe841, 0xe845, 0xe849, 0xe84d, 0xe855, 0xe859, 0xe85d, 0xe861,
            0xe865, 0xe8a1, 0xe8a5, 0xe8a9, 0xe8ad, 0xe8c9, 0xe8cd, 0xe8d1,
            0xe8f1, 0xe8f5, 0xe8f9, 0xe8fd, 0xe93d, 0xe941, 0xe945, 0xe949,
            0xe94d, 0xe95d, 0xe961, 0xe965, 0xe97d, 0xe981, 0xf169, 0xf16d,
            0xf171, 0xf189, 0xf18d, 0xf191, 0xf1a9, 0xf1ad, 0xf1b1, 0xf1c5,
            0xf1c9, 0xf1cd, 0xf1e1, 0xf1e5, 0xf201, 0xf205, 0xf209, 0xf271,
            0xf275, 0xf279, 0xf27d, 0xf281, 0xf2b5, 0xf2b9, 0xf2bd, 0xf2cd,
            0xf2d1, 0xf2e5, 0xf2e9, 0xf2ed, 0xf345, 0xf349, 0xf34d, 0xf35d,
            0xf361, 0xf365, 0xf36d, 0xf371, 0xf375, 0xf3c9, 0xf3cd, 0xf3d1,
            0xf3dd, 0xf3e1, 0xf3f5, 0xf3f9, 0xf3fd, 0xf409, 0xf40d, 0xf411,
            0xf429, 0xf42d, 0xf431, 0xf441, 0xf445, 0xf449, 0xf46d, 0xf471,
            0xf475, 0xf4c1, 0xf4c5, 0xf4c9, 0xf4e1, 0xf4e5, 0xf51d, 0xf521,
            0xf525, 0xf529, 0xf52d, 0xf549, 0xf54d, 0xf551, 0xf56d, 0xf571,
            0xf575, 0xf579, 0xf57d, 0xf5bd, 0xf5c1, 0xf5c5, 0xf5c9, 0xf5cd,
            0xf5dd, 0xf5e1, 0xf5e5, 0xf5fd, 0xf601, 0xf605, 0xfde9, 0xfded,
            0xfdf1, 0xfe09, 0xfe0d, 0xfe11, 0xfe29, 0xfe2d, 0xfe31, 0xfe45,
            0xfe49, 0xfe4d, 0xfe61, 0xfe65, 0xfe81, 0xfe85, 0xfe89, 0xfea1,
            0xfea5, 0xfea9, 0xfead, 0xfeb1, 0xfeb5, 0xfeb9, 0xfebd, 0xfec1,
            0xfec5, 0xfec9, 0xfecd, 0xfed1, 0xfed5, 0xfeed, 0xfef1, 0xfef5,
            0xfef9, 0xfefd, 0xff01, 0xff15, 0xff19, 0xff1d, 0xff21, 0xff25,
            0xff29, 0xff31, 0xff35, 0xff39, 0xff3d, 0xff41, 0xff45, 0xff49,
            0xff65, 0xff69, 0xff6d, 0xff79, 0xff7d, 0xff81, 0xff85, 0xff89,
            0xff8d, 0xff91, 0xffc5, 0xffc9, 0xffdd, 0xffe1, 0xffe5, 0xffe9,
            0xffed, 0xfff1, 0xfff5, 0xfff9, 0xfffd, 0x10035, 0x10039, 0x1003d,
            0x10041, 0x10045, 0x10049, 0x1004d, 0x10051, 0x10075, 0x10079,
            0x1007d, 0x10089, 0x1008d, 0x10091, 0x100ad, 0x100b1, 0x100c1,
            0x100c5, 0x100c9, 0x100cd, 0x100d1, 0x100d5, 0x100d9, 0x100dd,
            0x100ed, 0x100f1, 0x100f5, 0x10115, 0x10119, 0x1012d, 0x10131,
            0x10135, 0x10141, 0x10145, 0x10171, 0x10175, 0x10179, 0x1017d,
            0x10181, 0x10185, 0x10189, 0x10199, 0x1019d, 0x101a1, 0x101a5,
            0x101a9, 0x101ad, 0x101c9, 0x101cd, 0x101d1, 0x101f5, 0x101f9,
            0x101fd, 0x10219, 0x1021d, 0x10221, 0x10225, 0x10229, 0x1022d,
            0x1023d, 0x10241, 0x10245, 0x10249, 0x1024d, 0x10251, 0x1025d,
            0x10261, 0x10265, 0x1027d, 0x10281, 0x10285, 0x10a69, 0x10a6d,
            0x10a71, 0x10a89, 0x10a8d, 0x10a91, 0x10aa9, 0x10aad, 0x10ab1,
            0x10ac5, 0x10ac9, 0x10acd, 0x10ad9, 0x10add, 0x10ae1, 0x10ae5,
            0x10b01, 0x10b05, 0x10b21, 0x10b25, 0x10b29, 0x10b2d, 0x10b35,
            0x10b39, 0x10b3d, 0x10b41, 0x10b45, 0x10b4d, 0x10b51, 0x10b55,
            0x10b69, 0x10b6d, 0x10b71, 0x10b79, 0x10b7d, 0x10b81, 0x10b91,
            0x10b95, 0x10b99, 0x10ba1, 0x10ba5, 0x10ba9, 0x10bb5, 0x10bb9,
            0x10bbd, 0x10bdd, 0x10be1, 0x10be5, 0x10be9, 0x10bf9, 0x10bfd,
            0x10c01, 0x10c05, 0x10c45, 0x10c49, 0x10c61, 0x10c65, 0x10c6d,
            0x10c71, 0x10c75, 0x10cb1, 0x10cb5, 0x10cb9, 0x10cbd, 0x10cc5,
            0x10cc9, 0x10ccd, 0x10cd1, 0x10ced, 0x10cf1, 0x10cf5, 0x10cf9,
            0x10d09, 0x10d0d, 0x10d2d, 0x10d31, 0x10d35, 0x10d41, 0x10d45,
            0x10d49, 0x10d4d, 0x10d55, 0x10d59, 0x10d5d, 0x10d6d, 0x10d71,
            0x10d75, 0x10d95, 0x10d99, 0x10dad, 0x10db1, 0x10db5, 0x10dc1,
            0x10dc5, 0x10dc9, 0x10dcd, 0x10ded, 0x10df1, 0x10df5, 0x10df9,
            0x10e01, 0x10e05, 0x10e09, 0x10e15, 0x10e19, 0x10e1d, 0x10e25,
            0x10e29, 0x10e2d, 0x10e49, 0x10e4d, 0x10e51, 0x10e75, 0x10e79,
            0x10e7d, 0x10e95, 0x10e99, 0x10e9d, 0x10ea1, 0x10ea5, 0x10ea9,
            0x10ead, 0x10eb1, 0x10ebd, 0x10ec1, 0x10ec5, 0x10ec9, 0x10ecd,
            0x10ed1, 0x10edd, 0x10ee1, 0x10ee5, 0x10efd, 0x10f01, 0x10f05,
            0x116e9, 0x116ed, 0x116f1, 0x116f5, 0x116f9, 0x116fd, 0x11701,
            0x11705, 0x11709, 0x1170d, 0x11711, 0x11729, 0x1172d, 0x11731,
            0x11745, 0x11749, 0x1174d, 0x11751, 0x11755, 0x11759, 0x1175d,
            0x11761, 0x11765, 0x11779, 0x1177d, 0x11781, 0x11785, 0x117a1,
            0x117a5, 0x117a9, 0x117b9, 0x117bd, 0x117c1, 0x117d1, 0x117d5,
            0x117e5, 0x117e9, 0x117ed, 0x117f9, 0x117fd, 0x11801, 0x11811,
            0x11815, 0x11829, 0x11835, 0x11839, 0x1183d, 0x11859, 0x1185d,
            0x11861, 0x11865, 0x11879, 0x1187d, 0x11881, 0x118c5, 0x118c9,
            0x118e1, 0x118e5, 0x118ed, 0x118f1, 0x118f5, 0x11931, 0x11935,
            0x11949, 0x1194d, 0x11951, 0x11969, 0x1196d, 0x11971, 0x11975,
            0x11989, 0x1198d, 0x119ad, 0x119b1, 0x119b5, 0x119c1, 0x119c5,
            0x119c9, 0x119d9, 0x119dd, 0x119e1, 0x119ed, 0x119f1, 0x119f5,
            0x119f9, 0x119fd, 0x11a01, 0x11a05, 0x11a09, 0x11a15, 0x11a19,
            0x11a2d, 0x11a31, 0x11a35, 0x11a45, 0x11a49, 0x11a4d, 0x11a51,
            0x11a55, 0x11a59, 0x11a5d, 0x11a6d, 0x11a71, 0x11a91, 0x11a95,
            0x11a99, 0x11aa5, 0x11aa9, 0x11aad, 0x11ac9, 0x11acd, 0x11ad1,
            0x11af5, 0x11af9, 0x11afd, 0x11b15, 0x11b19, 0x11b2d, 0x11b31,
            0x11b35, 0x11b3d, 0x11b41, 0x11b45, 0x11b4d, 0x11b51, 0x11b55,
            0x11b5d, 0x11b61, 0x11b65, 0x11b81, 0x11b85, 0x11b89, 0x11b8d,
            0x12369, 0x1236d, 0x12371, 0x12389, 0x1238d, 0x12391, 0x123a9,
            0x123ad, 0x123b1, 0x123c5, 0x123c9, 0x123cd, 0x123dd, 0x123e1,
            0x123e5, 0x123e9, 0x123f5, 0x123f9, 0x123fd, 0x12401, 0x12421,
            0x12425, 0x12429, 0x12439, 0x1243d, 0x12441, 0x12451, 0x12455,
            0x12465, 0x12469, 0x1246d, 0x12479, 0x1247d, 0x12481, 0x12491,
            0x12495, 0x12499, 0x1249d, 0x124a1, 0x124b5, 0x124b9, 0x124bd,
            0x124e1, 0x124e5, 0x124e9, 0x124f9, 0x124fd, 0x12501, 0x12545,
            0x12549, 0x12561, 0x12565, 0x1256d, 0x12571, 0x12575, 0x125b1,
            0x125b5, 0x125c9, 0x125cd, 0x125d1, 0x125f1, 0x125f5, 0x125f9,
            0x12609, 0x1260d, 0x1262d, 0x12631, 0x12635, 0x12641, 0x12645,
            0x12649, 0x1265d, 0x12661, 0x1266d, 0x12671, 0x12675, 0x12695,
            0x12699, 0x126ad, 0x126b1, 0x126b5, 0x126c9, 0x126cd, 0x126d1,
            0x126d5, 0x126d9, 0x126dd, 0x126e1, 0x126ed, 0x126f1, 0x12711,
            0x12715, 0x12719, 0x12725, 0x12729, 0x1272d, 0x12749, 0x1274d,
            0x12751, 0x12775, 0x12779, 0x1277d, 0x12795, 0x12799, 0x127ad,
            0x127b1, 0x127b5, 0x127bd, 0x127c1, 0x127c5, 0x127d1, 0x127d5,
            0x127dd, 0x127e1, 0x127e5, 0x12805, 0x12809, 0x1280d, 0x12811,
            0x12fe9, 0x12fed, 0x12ff1, 0x13009, 0x1300d, 0x13011, 0x13029,
            0x1302d, 0x13031, 0x13045, 0x13049, 0x1304d, 0x13065, 0x13069,
            0x13079, 0x1307d, 0x13081, 0x13085, 0x130a1, 0x130a5, 0x130a9,
            0x130b9, 0x130bd, 0x130c1, 0x130d1, 0x130d5, 0x130d9, 0x130e1,
            0x130e5, 0x130e9, 0x130f9, 0x130fd, 0x13101, 0x13111, 0x13115,
            0x13119, 0x1311d, 0x13121, 0x13125, 0x13129, 0x13135, 0x13139,
            0x1313d, 0x13165, 0x13169, 0x1316d, 0x13179, 0x1317d, 0x13181,
            0x131c5, 0x131c9, 0x131e1, 0x131e5, 0x131ed, 0x131f1, 0x131f5,
            0x1322d, 0x13231, 0x13235, 0x13249, 0x1324d, 0x13251, 0x13275,
            0x13279, 0x1327d, 0x13289, 0x1328d, 0x132ad, 0x132b1, 0x132b5,
            0x132c1, 0x132c5, 0x132c9, 0x132dd, 0x132e1, 0x132ed, 0x132f1,
            0x132f5, 0x13315, 0x13319, 0x1332d, 0x13331, 0x13335, 0x13359,
            0x1335d, 0x13361, 0x13365, 0x13369, 0x1336d, 0x13371, 0x1338d,
            0x13391, 0x13395, 0x133a5, 0x133a9, 0x133ad, 0x133c9, 0x133cd,
            0x133d1, 0x133f5, 0x133f9, 0x133fd, 0x13411, 0x13415, 0x13419,
            0x1342d, 0x13431, 0x13435, 0x1343d, 0x13441, 0x13445, 0x13451,
            0x13455, 0x13459, 0x1345d, 0x13461, 0x13465, 0x13481, 0x13485,
            0x13489, 0x1348d, 0x13c69, 0x13c6d, 0x13c71, 0x13c89, 0x13c8d,
            0x13c91, 0x13ca9, 0x13cad, 0x13cb1, 0x13cc5, 0x13cc9, 0x13ccd,
            0x13ce5, 0x13ce9, 0x13d01, 0x13d05, 0x13d21, 0x13d25, 0x13d29,
            0x13d39, 0x13d3d, 0x13d41, 0x13d51, 0x13d55, 0x13d59, 0x13d61,
            0x13d65, 0x13d69, 0x13d6d, 0x13d71, 0x13d75, 0x13d79, 0x13d7d,
            0x13d81, 0x13d85, 0x13d9d, 0x13da1, 0x13da5, 0x13da9, 0x13db5,
            0x13db9, 0x13dbd, 0x13de5, 0x13de9, 0x13ded, 0x13df9, 0x13dfd,
            0x13e01, 0x13e45, 0x13e49, 0x13e5d, 0x13e61, 0x13e65, 0x13e6d,
            0x13e71, 0x13e75, 0x13eb1, 0x13eb5, 0x13ec9, 0x13ecd, 0x13ed1,
            0x13ef5, 0x13ef9, 0x13efd, 0x13f09, 0x13f0d, 0x13f11, 0x13f2d,
            0x13f31, 0x13f41, 0x13f45, 0x13f49, 0x13f5d, 0x13f61, 0x13f6d,
            0x13f71, 0x13f75, 0x13f95, 0x13f99, 0x13fad, 0x13fb1, 0x13fb5,
            0x13fdd, 0x13fe1, 0x13fe5, 0x13fed, 0x13ff1, 0x1400d, 0x14011,
            0x14015, 0x14019, 0x1401d, 0x14021, 0x14025, 0x14029, 0x1402d,
            0x14031, 0x14049, 0x1404d, 0x14051, 0x14075, 0x14079, 0x1407d,
            0x14095, 0x14099, 0x140ad, 0x140b1, 0x140b5, 0x140bd, 0x140c1,
            0x140c5, 0x140d5, 0x140d9, 0x140dd, 0x140e1, 0x140e5, 0x14101,
            0x14105, 0x148e9, 0x148ed, 0x148f1, 0x14909, 0x1490d, 0x14911,
            0x14929, 0x1492d, 0x14931, 0x14945, 0x14949, 0x1494d, 0x14965,
            0x14969, 0x14981, 0x14985, 0x14989, 0x149a1, 0x149a5, 0x149a9,
            0x149b9, 0x149bd, 0x149c1, 0x149d1, 0x149d5, 0x149d9, 0x149f9,
            0x149fd, 0x14a01, 0x14a0d, 0x14a11, 0x14a25, 0x14a29, 0x14a2d,
            0x14a35, 0x14a39, 0x14a3d, 0x14a4d, 0x14a51, 0x14a65, 0x14a69,
            0x14a6d, 0x14a79, 0x14a7d, 0x14a81, 0x14ac5, 0x14ac9, 0x14acd,
            0x14add, 0x14ae1, 0x14ae5, 0x14aed, 0x14af1, 0x14af5, 0x14b31,
            0x14b35, 0x14b49, 0x14b4d, 0x14b51, 0x14b5d, 0x14b61, 0x14b75,
            0x14b79, 0x14b7d, 0x14b89, 0x14b8d, 0x14b91, 0x14ba9, 0x14bad,
            0x14bb1, 0x14bc1, 0x14bc5, 0x14bc9, 0x14bd9, 0x14bdd, 0x14be1,
            0x14bed, 0x14bf1, 0x14bf5, 0x14c15, 0x14c19, 0x14c1d, 0x14c2d,
            0x14c31, 0x14c35, 0x14c41, 0x14c45, 0x14c5d, 0x14c61, 0x14c65,
            0x14c6d, 0x14c71, 0x14c85, 0x14c89, 0x14ca5, 0x14ca9, 0x14cad,
            0x14cc9, 0x14ccd, 0x14cd1, 0x14cf5, 0x14cf9, 0x14cfd, 0x14d15,
            0x14d19, 0x14d2d, 0x14d31, 0x14d35, 0x14d3d, 0x14d41, 0x14d45,
            0x14d55, 0x14d59, 0x14d5d, 0x14d61, 0x14d65, 0x14d7d, 0x14d81,
            0x14d85, 0x15569, 0x1556d, 0x15571, 0x15589, 0x1558d, 0x15591,
            0x155a9, 0x155ad, 0x155b1, 0x155c5, 0x155c9, 0x155cd, 0x155dd,
            0x155e1, 0x155e5, 0x155e9, 0x15601, 0x15605, 0x15609, 0x15621,
            0x15625, 0x15629, 0x15639, 0x1563d, 0x15641, 0x15651, 0x15655,
            0x15659, 0x15679, 0x1567d, 0x15681, 0x1568d, 0x15691, 0x15695,
            0x15699, 0x156a1, 0x156a5, 0x156a9, 0x156b5, 0x156b9, 0x156bd,
            0x156cd, 0x156d1, 0x156d5, 0x156d9, 0x156dd, 0x156e1, 0x156e5,
            0x156e9, 0x156f9, 0x156fd, 0x15701, 0x15749, 0x1574d, 0x15751,
            0x15759, 0x1575d, 0x15761, 0x1576d, 0x15771, 0x15775, 0x157b1,
            0x157b5, 0x157b9, 0x157bd, 0x157c1, 0x157c5, 0x157c9, 0x157cd,
            0x157d1, 0x157dd, 0x157e1, 0x157e5, 0x157e9, 0x157ed, 0x157f1,
            0x157f5, 0x157f9, 0x1580d, 0x15811, 0x15815, 0x15819, 0x15821,
            0x15825, 0x15829, 0x1582d, 0x15841, 0x15845, 0x15849, 0x1584d,
            0x15855, 0x15859, 0x1585d, 0x1586d, 0x15871, 0x15875, 0x15895,
            0x15899, 0x1589d, 0x158a5, 0x158a9, 0x158ad, 0x158b1, 0x158b5,
            0x158c1, 0x158c5, 0x158c9, 0x158cd, 0x158d5, 0x158d9, 0x158dd,
            0x158e1, 0x158ed, 0x158f1, 0x158f5, 0x158f9, 0x15901, 0x15905,
            0x15909, 0x15925, 0x15929, 0x1592d, 0x15949, 0x1594d, 0x15951,
            0x15975, 0x15979, 0x1597d, 0x15995, 0x15999, 0x1599d, 0x159a1,
            0x159a5, 0x159a9, 0x159ad, 0x159b1, 0x159bd, 0x159c1, 0x159c5,
            0x159d9, 0x159dd, 0x159e1, 0x159e5, 0x159fd, 0x15a01, 0x15a05,
            0x161e9, 0x161ed, 0x161f1, 0x16209, 0x1620d, 0x16211, 0x16229,
            0x1622d, 0x16231, 0x16245, 0x16249, 0x1624d, 0x16251, 0x16255,
            0x16259, 0x1625d, 0x16261, 0x16265, 0x16281, 0x16285, 0x16289,
            0x162a1, 0x162a5, 0x162a9, 0x162b9, 0x162bd, 0x162c1, 0x162d1,
            0x162d5, 0x162d9, 0x162f9, 0x162fd, 0x16301, 0x16311, 0x16315,
            0x16319, 0x1631d, 0x16321, 0x16325, 0x16329, 0x16339, 0x1633d,
            0x16341, 0x16345, 0x16349, 0x1634d, 0x16351, 0x16355, 0x16359,
            0x1635d, 0x16361, 0x16365, 0x16379, 0x1637d, 0x16381, 0x163c9,
            0x163cd, 0x163d1, 0x163d5, 0x163d9, 0x163dd, 0x163ed, 0x163f1,
            0x163f5, 0x16435, 0x16439, 0x1643d, 0x16441, 0x16445, 0x16449,
            0x1644d, 0x16451, 0x1645d, 0x16461, 0x16465, 0x16469, 0x1646d,
            0x16471, 0x16475, 0x16491, 0x16495, 0x16499, 0x1649d, 0x164a1,
            0x164a5, 0x164a9, 0x164c1, 0x164c5, 0x164c9, 0x164cd, 0x164d1,
            0x164d5, 0x164d9, 0x164ed, 0x164f1, 0x164f5, 0x16519, 0x1651d,
            0x16521, 0x16525, 0x16529, 0x1652d, 0x16531, 0x16535, 0x16541,
            0x16545, 0x16549, 0x1654d, 0x16551, 0x16555, 0x16559, 0x1655d,
            0x16571, 0x16575, 0x16579, 0x1657d, 0x16581, 0x16585, 0x165a5,
            0x165a9, 0x165ad, 0x165c9, 0x165cd, 0x165d1, 0x165ed, 0x165f1,
            0x165f5, 0x165f9, 0x165fd, 0x16601, 0x16605, 0x16619, 0x1661d,
            0x16621, 0x16625, 0x16629, 0x1662d, 0x1663d, 0x16641, 0x16645,
            0x16659, 0x1665d, 0x16661, 0x16665, 0x1667d, 0x16681, 0x16685,
            0x16f01, 0x16f05, 0x16f09, 0x172fd, 0x17301, 0x17b85, 0x17b89,
            0x17b8d, 0x17f79, 0x17f7d, 0x17f81, 0x18805, 0x18809, 0x1880d,
            0x18811, 0x18815, 0x18915, 0x18919, 0x1891d, 0x18921, 0x18925,
            0x18929, 0x1892d, 0x18931, 0x18935, 0x18939, 0x1893d, 0x18985,
            0x18989, 0x1898d, 0x18991, 0x18995, 0x18999, 0x1899d, 0x189a1,
            0x189a5, 0x189a9, 0x189ad, 0x18bf1, 0x18bf5, 0x18bf9, 0x18bfd,
        ],
        _0x203d58 = _0x3e76a9["getImageData"](0x0, 0x0, w, h),
        _0x29885d = _0x203d58[_0x3fc5(0x17)];
    for (
        var _0x1ecde0 = 0x3;
        _0x1ecde0 < _0x29885d[_0x3fc5(0x10)];
        _0x1ecde0 += 0x4
    ) {
        _0x29885d[_0x1ecde0] = 0xff;
    }
    for (var _0x1ecde0 = 0x0; _0x1ecde0 < _0x1ba7da["length"]; _0x1ecde0++) {
        _0x29885d[_0x1ba7da[_0x1ecde0]] = 0xff;
    }
    _0x3e76a9[_0x3fc5(0x18)](_0x203d58, 0x0, 0x0);
    var _0x555046 = new Image();
    _0x555046[_0x3fc5(0x19)] = _0x233a80["toDataURL"]();
}
function _0x5d26ac(_0x4a1328) {
    function _0x5b9524(_0x9a7b1e) {
        if (typeof _0x9a7b1e === _0x3fc5(0x1a))
            return function (_0x13f997) {}
                ["constructor"](_0x3fc5(0x1b))
                ["apply"](_0x3fc5(0x1c));
        else
            ("" + _0x9a7b1e / _0x9a7b1e)[_0x3fc5(0x10)] !== 0x1 ||
            _0x9a7b1e % 0x14 === 0x0
                ? function () {
                      return !![];
                  }
                      ["constructor"](_0x3fc5(0x1d) + "gger")
                      [_0x3fc5(0x1e)](_0x3fc5(0x1f))
                : function () {
                      return ![];
                  }
                      ["constructor"]("debu" + _0x3fc5(0x20))
                      ["apply"](_0x3fc5(0x21));
        _0x5b9524(++_0x9a7b1e);
    }
    try {
        if (_0x4a1328) return _0x5b9524;
        else _0x5b9524(0x0);
    } catch (_0x3a011d) {}
}

solve.html

<!DOCTYPE html>
<html lang="en">
    <body>
        <canvas id="id" width="800" height="800"></canvas>
        <script src="flag.js"></script>
        <script>
            flag("id");
        </script>
    </body>
</html>

Last updated