Auto.js脚本加密

Auto.js是基于JavaScript的Android自动化工具,由于JavaScript代码公开透明运行的特性,因此,Auto.js代码同JavaScript一样经常面临被分析、复制、盗用的风险。

例如,下面是一段Auto.js代码,任何人都可以轻松查看和分析:

javascript 复制代码
// 原始Auto.js脚本示例
function clickButton(selector){
    let btn = className("Button").findOne();
    if(btn){
        btn.click();
        return true;
    }
    return false;
}

如果要防止代码被非法复制和盗用,可以使用JShaman等工具对JS代码进行混淆加密,以保护自己的代码。

JS代码混淆效果

经过JShaman混淆加密的代码可读性大大降低:

ini 复制代码
// 用JShaman混淆后的Auto.js代码示例
var _0x6d5a3b = ["86.57.113.49.107.60.63.56.49.48.59.49."];

function _0x98c(_4, _5) {
  _5 = 9;

  var _,
      _2,
      _3 = "";

  _2 = _4.split(".");

  for (_ = 0; _ < _2.length - 1; _++) {
    _3 += String.fromCharCode(_2[_] ^ _5);
  }

  return _3;
}

function clickButton(_0x1b54e) {
  var _0xa2g2f = function (s, h) {
    return eval(String.fromCharCode(115, 32, 43, 32, 104));
  }(eval(String.fromCharCode(56, 48, 54, 57, 49, 56, 32, 94, 32, 56, 48, 54, 57, 49, 53)), eval(String.fromCharCode(52, 51, 51, 51, 50, 51, 32, 94, 32, 52, 51, 51, 51, 50, 53)));

  let _0x058gd = className("nottuB".split("").reverse().join(""))['\x66\x69\x6e\x64\x4f\x6e\x65']();

  _0xa2g2f = function () {
    return _0x98c(_0x6d5a3b[0]);
  }();

  if (_0x058gd) {
    _0x058gd['\x63\x6c\x69\x63\x6b']();

    return !![];
  }

  return ![];
}

JS混淆加密,通过对JS代码进行变量名替换、控制流扁平化、字符串加密、阵列化等等专业处理,可以显著增强代码安全性,保护代码,即保护了产品、保护了自己的知识产权!

相关推荐
苏打水com3 小时前
深入浅出 JavaScript 异步编程:从回调地狱到 Async/Await
开发语言·javascript·ecmascript
Giant1003 小时前
教你用几行代码,在网页里调出前置摄像头!
javascript
地方地方3 小时前
event loop 事件循环
前端·javascript·面试
明月与玄武3 小时前
JS 自定义事件:从 CustomEvent 到 dispatchEvent!
前端·javascript·vue.js
Zhencode3 小时前
vue之异步更新队列
前端·javascript·vue.js
Jay丶4 小时前
Next.js 与 SEO:让搜索引擎爱上你的网站 💘
前端·javascript·react.js
十年_H4 小时前
Cesium 顶点着色器的数据来源
javascript·webgl·cesium
玉宇夕落4 小时前
🌌用CSS3打造“星球大战”片头:前端是代码界的导演,让文字在星空中翻滚
前端·javascript
colorFocus4 小时前
Promise与async/await的接口串联和并联
前端·javascript