首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Auto.js脚本加密

Auto.js脚本加密

原创
作者头像
用户8703799
发布2025-10-28 11:42:59
发布2025-10-28 11:42:59
1490
举报
文章被收录于专栏:javascript技术javascript技术

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混淆加密的代码可读性大大降低:

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JS代码混淆效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档