autojs加解密,文本/字符串的加密和解密脚本源码分享

说明

本文提供的代码仅供参考。不建议用于生产环境。
可能有些地方在最新版本的Auto.js上面需要做修改,才能运行。

Auto.js简介

Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。

Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。

推荐教程

Auto.js Pro安卓全分辨率免ROOT引流脚本开发视频教程(HD超清1080p)

开发文档

Auto.js Pro开发文档
文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。

为什么要使用Auto.js Pro开发脚本,有什么特点?

吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:

  • Auto.js Pro能开发免ROOT的安卓脚本
  • Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
  • Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面
  • Auto.js Pro使用的javascript的语法比较优雅,代码可读性强
  • Auto.js Pro的命令库非常的丰富,接口比较多
  • Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告

免责声明

本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途。

示例代码

// 此代码由飞云脚本圈www.feiyunjs.com整理提供

var JM=encrypt(dialogs.rawInput("请输入要加密的字符串"));
alert("加密完成的内容:",JM);
toast("加密文件已设置到剪贴板");
setClip(JM);
var AM=decode(dialogs.rawInput("请输入要解密的字符串"));
alert("解密完成的内容:",AM);

function encrypt(stringW){
    //添加尾判断符号
    var str=stringW+"٩";
    
    //添加随机字符
    var ranWs=random(1,6);
    var str1="";
    for(var i=0;i<str.length;i++){
        str1=str1+str[i];
        if(i%ranWs==0){
            str1=str1+ranLetter();
        }
    }
    log(str1)
    str1=ranWs+str1;
    
    //转换倒序
    str1=str1.split("").reverse();
    
    //替换对应值
    for(var x=0;x<str1.length;x++){
        str1[x]=charDh(str1[x]);
    }
    
    return str1.join("");
}

function decode(stringJ){
    var str2=stringJ.split("");
    
    //替换回原值
    for(var x=0;x<str2.length;x++){
        str2[x]=charDh(str2[x]);
    }
    
    //颠倒顺序
    str2=str2.reverse().join("");
    log(str2)
    //去掉多余
    var tt=parseInt(str2[0]);
    str2=str2.substring(1,str2.length-1);
    var str3="";
    for(var y=0;y<str2.length;y++){
        if((y-1)%(tt+1)!=0){
            str3=str3+str2[y];
        }
    }
    
    //去除尾端符号
    if(str3[str3.length-1]=="٩"){
        str3=str3.substring(0,str3.length-1);
    }
    
    return str3;
}

function charDh(cha){
    var arr=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
    for(var jw=0;jw<arr.length;jw++){
        if(cha==arr[jw]){
            return arr[arr.length-1-jw];
        }
    }
    return cha;
}

function ranLetter(){
    var arr=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
    var ran=random(0,3);
    if(ran==0){
        return random(0,9);
    }else if(ran==1){
        return arr[random(0,arr.length-1)];
    }else{
        return arr[random(0,arr.length-1)].toUpperCase();
    }
}


你可能感兴趣的:(脚本源码)