Auto.js脚本加密

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

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

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

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

JS代码混淆效果

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

// 用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代码进行变量名替换、控制流扁平化、字符串加密、阵列化等等专业处理,可以显著增强代码安全性,保护代码,即保护了产品、保护了自己的知识产权!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值