可以将HTML放到template中,然后混淆,例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script> </head> <body> <div id="app"></div> <script> new Vue({ el: '#app', template: ` <div> <h1>{{ message }}</h1> <button @click="changeMessage">Change Message</button> </div> `, data: { message: 'Hello, Vue!' }, methods: { changeMessage() { this.message = 'Hello, World!'; } } }); </script> </body> </html>
我们把js部分复制出来,然后打开这个在线工具,对js代码进行混淆点击打开链接
这是混淆后的html源码,还可设置允许打开的域名
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1-dev.js"></script> </head> <body> <div id="app"></div> <script> function _0x2e9e(_0x266987, _0x59faad) { var _0x2e9ea6 = _0x59fa(); return _0x2e9e = function (_0x375a4e, _0x350f1a) { _0x375a4e = _0x375a4e - (-0x1a0a + 0x52 * 0x57 + -0x3f); var _0xecbf66 = _0x2e9ea6[_0x375a4e]; return _0xecbf66; }, _0x2e9e(_0x266987, _0x59faad); } var _0x508791 = _0x2e9e; function _0x59fa() { var _0x5b5991 = [ 'nction()\x20', 'ZqgQR', '1171490miWrio', '1190679rIAPmb', 'e)\x20{}', 'OjVxx', 'Tjywp', 'QEuuj', 'debu', 'ctor(\x22retu', 'utton\x20@cli', 'counter', 'hange\x20Mess', '445923uOqIzE', 'n>\x0a\x20\x20\x20\x20\x20\x20\x20', 'KItqC', 'setInterva', 'VkJFO', 'div>\x0a\x20\x20\x20\x20\x20', 'SPhsd', 'init', 'oYlQG', 'aleQm', 'vggwd', '\x20</div>\x0a\x20\x20', '388416xQItcR', 'hONgy', 'fbgfR', 'Message\x22>C', '{\x20message\x20', 'string', '{}.constru', 'length', 'zaQbc', 'buzxp', 'BjnFk', '\x20\x20\x20\x20\x20<h1>{', '\x20\x20\x20\x20\x20\x20\x20\x20<b', 'fiSEA', '3EnhxBf', 'GBmDd', 'Hello,\x20Wor', 'apply', 'uznIL', 'fJFdK', '0-9a-zA-Z_', 'sVnwY', 'AhoME', 'stateObjec', 'message', 'test', 'qkfwn', '\x20\x20\x20\x20', 'return\x20(fu', 'WGhyP', 'ck=\x22change', 'FRHDA', 'Hello,\x20Vue', 'while\x20(tru', 'SpfBq', 'vZoGh', '}}</h1>\x0a\x20\x20', 'call', 'gger', 'EknSt', 'ZUkYo', '\x5c(\x20*\x5c)', 'chain', '#app', '729336owAdht', 'age</butto', '\x0a\x20\x20\x20\x20\x20\x20\x20\x20<', 'VWZnb', '6IWuzRx', '$]*)', 'a-zA-Z_$][', '279334utvkfW', 'input', '704356YNDwvp', 'mXROw', 'function\x20*', '\x5c+\x5c+\x20*(?:[', 'ryFdd', 'rn\x20this\x22)(', 'BpJxx', 'action', 'lGIkG', 'ld!', 'constructo', 'OHQGd' ]; _0x59fa = function () { return _0x5b5991; }; return _0x59fa(); } (function (_0x455a42, _0x39b041) { var _0x4cabd7 = _0x2e9e, _0x53deed = _0x455a42(); while (!![]) { try { var _0x3605b5 = parseInt(_0x4cabd7(0x1af)) / (0xea * 0xb + -0x1 * 0x192b + -0x102 * -0xf) + parseInt(_0x4cabd7(0x1d6)) / (0x23ad + 0x1b1 * 0x10 + 0x1 * -0x3ebb) + parseInt(_0x4cabd7(0x1e4)) / (-0xe43 + -0x1 * 0x1989 + 0xed * 0x2b) * (parseInt(_0x4cabd7(0x1b1)) / (-0xa7f * 0x1 + -0x1e55 + -0x146c * -0x2)) + -parseInt(_0x4cabd7(0x1bf)) / (0x207a + 0x22ff + -0x4374) * (parseInt(_0x4cabd7(0x1ac)) / (0x198e + 0x1cdf + -0x2dd * 0x13)) + -parseInt(_0x4cabd7(0x1c0)) / (0x1c75 + 0x19fb + -0x3669) + -parseInt(_0x4cabd7(0x1a8)) / (0x19cc + -0x8f3 * 0x2 + -0x7de) + parseInt(_0x4cabd7(0x1ca)) / (-0x1b63 + 0x109 * 0xa + -0x2e * -0x5f); if (_0x3605b5 === _0x39b041) break; else _0x53deed['push'](_0x53deed['shift']()); } catch (_0x42e430) { _0x53deed['push'](_0x53deed['shift']()); } } }(_0x59fa, -0x1d * -0x1ac + 0x62e2f + -0xa70f * 0x5)); var _0x46a49b = (function () { var _0x2d699f = !![]; return function (_0x1fe8c2, _0x1bc660) { var _0x4cf296 = _0x2d699f ? function () { var _0x57d5ee = _0x2e9e; if (_0x1bc660) { var _0x5985f8 = _0x1bc660[_0x57d5ee(0x1e7)](_0x1fe8c2, arguments); return _0x1bc660 = null, _0x5985f8; } } : function () { }; return _0x2d699f = ![], _0x4cf296; }; }()); (function () { var _0xa5b37 = _0x2e9e, _0x1c0b2b = { 'fbgfR': _0xa5b37(0x1b3) + _0xa5b37(0x1a5), 'SpfBq': _0xa5b37(0x1b4) + _0xa5b37(0x1ae) + _0xa5b37(0x1ea) + _0xa5b37(0x1ad), 'GBmDd': function (_0x5029fb, _0x30ce7c) { return _0x5029fb(_0x30ce7c); }, 'OHQGd': _0xa5b37(0x1d1), 'qkfwn': function (_0x3a58be, _0x5099ce) { return _0x3a58be + _0x5099ce; }, 'fJFdK': _0xa5b37(0x1a6), 'vZoGh': function (_0x539bda, _0x22ba51) { return _0x539bda + _0x22ba51; }, 'buzxp': _0xa5b37(0x1b0), 'OjVxx': function (_0x3df517, _0x31ae7d) { return _0x3df517(_0x31ae7d); }, 'sVnwY': function (_0x1cbe17) { return _0x1cbe17(); }, 'vggwd': function (_0x369c04, _0x4a39c, _0x211bf5) { return _0x369c04(_0x4a39c, _0x211bf5); } }; _0x1c0b2b[_0xa5b37(0x1d4)](_0x46a49b, this, function () { var _0x206497 = _0xa5b37, _0x4218f2 = new RegExp(_0x1c0b2b[_0x206497(0x1d8)]), _0x54dd03 = new RegExp(_0x1c0b2b[_0x206497(0x19e)], 'i'), _0x8b7225 = _0x1c0b2b[_0x206497(0x1e5)](_0x4b2a50, _0x1c0b2b[_0x206497(0x1bc)]); !_0x4218f2[_0x206497(0x195)](_0x1c0b2b[_0x206497(0x196)](_0x8b7225, _0x1c0b2b[_0x206497(0x1e9)])) || !_0x54dd03[_0x206497(0x195)](_0x1c0b2b[_0x206497(0x19f)](_0x8b7225, _0x1c0b2b[_0x206497(0x1df)])) ? _0x1c0b2b[_0x206497(0x1c2)](_0x8b7225, '0') : _0x1c0b2b[_0x206497(0x1eb)](_0x4b2a50); })(); }()), (function () { var _0x173d50 = _0x2e9e, _0x34a615 = { 'ryFdd': function (_0x5a79ff, _0x36856b) { return _0x5a79ff(_0x36856b); }, 'EknSt': function (_0xe3b19b, _0x4c5417) { return _0xe3b19b + _0x4c5417; }, 'WGhyP': _0x173d50(0x198) + _0x173d50(0x1bd), 'FRHDA': _0x173d50(0x1dc) + _0x173d50(0x1c6) + _0x173d50(0x1b6) + '\x20)', 'ZUkYo': function (_0x23b1aa) { return _0x23b1aa(); } }, _0x4b8709; try { var _0x4b8085 = _0x34a615[_0x173d50(0x1b5)](Function, _0x34a615[_0x173d50(0x1a3)](_0x34a615[_0x173d50(0x1a3)](_0x34a615[_0x173d50(0x199)], _0x34a615[_0x173d50(0x19b)]), ');')); _0x4b8709 = _0x34a615[_0x173d50(0x1a4)](_0x4b8085); } catch (_0x2a592b) { _0x4b8709 = window; } _0x4b8709[_0x173d50(0x1cd) + 'l'](_0x4b2a50, -0x1 * -0xe35 + 0x10a6 + -0x1 * 0x1ed9); }()), new Vue({ 'el': _0x508791(0x1a7), 'template': _0x508791(0x1aa) + _0x508791(0x1cf) + _0x508791(0x1e1) + _0x508791(0x1da) + _0x508791(0x1a0) + _0x508791(0x1e2) + _0x508791(0x1c7) + _0x508791(0x19a) + _0x508791(0x1d9) + _0x508791(0x1c9) + _0x508791(0x1a9) + _0x508791(0x1cb) + _0x508791(0x1d5) + _0x508791(0x197), 'data': { 'message': _0x508791(0x19c) + '!' }, 'methods': { 'changeMessage'() { var _0x1d18a4 = _0x508791, _0x2b1f0e = { 'mXROw': _0x1d18a4(0x1e6) + _0x1d18a4(0x1ba) }; this[_0x1d18a4(0x1ee)] = _0x2b1f0e[_0x1d18a4(0x1b2)]; } } }); function _0x4b2a50(_0x10fe4f) { var _0x3ef554 = _0x508791, _0x42516d = { 'BjnFk': function (_0x29b4a2, _0x2bc317) { return _0x29b4a2 === _0x2bc317; }, 'AhoME': _0x3ef554(0x1db), 'aleQm': _0x3ef554(0x19d) + _0x3ef554(0x1c1), 'VWZnb': _0x3ef554(0x1c8), 'oYlQG': function (_0x37ed49, _0x1d426e) { return _0x37ed49 !== _0x1d426e; }, 'lGIkG': function (_0x2279eb, _0xfe0c48) { return _0x2279eb + _0xfe0c48; }, 'fiSEA': function (_0x44311e, _0x1a00bc) { return _0x44311e / _0x1a00bc; }, 'uznIL': _0x3ef554(0x1dd), 'ZqgQR': function (_0x2e824c, _0x4bec3a) { return _0x2e824c === _0x4bec3a; }, 'SPhsd': function (_0x3aaf51, _0x35d54f) { return _0x3aaf51 % _0x35d54f; }, 'zaQbc': function (_0x1a9a40, _0x1197af) { return _0x1a9a40 + _0x1197af; }, 'QEuuj': _0x3ef554(0x1c5), 'VkJFO': _0x3ef554(0x1a2), 'hONgy': _0x3ef554(0x1b8), 'Tjywp': function (_0x31358b, _0x878f63) { return _0x31358b + _0x878f63; }, 'KItqC': _0x3ef554(0x1ed) + 't', 'BpJxx': function (_0x191f8b, _0x21f94a) { return _0x191f8b(_0x21f94a); } }; function _0x23848c(_0x5a2dfc) { var _0x38feff = _0x3ef554; if (_0x42516d[_0x38feff(0x1e0)](typeof _0x5a2dfc, _0x42516d[_0x38feff(0x1ec)])) return function (_0x4b09bd) { }[_0x38feff(0x1bb) + 'r'](_0x42516d[_0x38feff(0x1d3)])[_0x38feff(0x1e7)](_0x42516d[_0x38feff(0x1ab)]); else _0x42516d[_0x38feff(0x1d2)](_0x42516d[_0x38feff(0x1b9)]('', _0x42516d[_0x38feff(0x1e3)](_0x5a2dfc, _0x5a2dfc))[_0x42516d[_0x38feff(0x1e8)]], 0x1e8 + -0x1 * -0x180d + -0xb * 0x25c) || _0x42516d[_0x38feff(0x1be)](_0x42516d[_0x38feff(0x1d0)](_0x5a2dfc, 0x1dee * -0x1 + 0xb * -0x2c3 + 0x1 * 0x3c63), -0xe5 * -0x2 + 0x5 * 0x726 + -0x2588) ? function () { return !![]; }[_0x38feff(0x1bb) + 'r'](_0x42516d[_0x38feff(0x1de)](_0x42516d[_0x38feff(0x1c4)], _0x42516d[_0x38feff(0x1ce)]))[_0x38feff(0x1a1)](_0x42516d[_0x38feff(0x1d7)]) : function () { return ![]; }[_0x38feff(0x1bb) + 'r'](_0x42516d[_0x38feff(0x1c3)](_0x42516d[_0x38feff(0x1c4)], _0x42516d[_0x38feff(0x1ce)]))[_0x38feff(0x1e7)](_0x42516d[_0x38feff(0x1cc)]); _0x42516d[_0x38feff(0x1b7)](_0x23848c, ++_0x5a2dfc); } try { if (_0x10fe4f) return _0x23848c; else _0x42516d[_0x3ef554(0x1b7)](_0x23848c, -0x37 * 0xb + 0x1caa + -0x1a4d * 0x1); } catch (_0x2e91ef) { } } </script> </body> </html>
网友回复