+
95
-

使用cdn版本vue开发的h5网页如何进行混淆加密保护源码?

使用cdn版本vue开发的h5网页如何进行混淆加密保护源码?


网友回复

+
15
-

可以将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代码进行混淆点击打开链接

800_auto

这是混淆后的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 + ...

点击查看剩余70%

我知道答案,我要回答