关于javascript:Autojs怎么安全加密Autojs在线加密工具注意事项

Autojs 加密抉择通过勾选  Autojs  加密选项,零碎会主动配置适宜   Autojs   加密的计划。

Autojs 加密次要调整内容
1、加密PX平坦系数的调整,更加适宜  Autojs  语法,使得   Autojs   加密后脚本运行速度不会受到影响。
2、加密语法更兼容  Autojs  。
3、更加适宜   Autojs   平安的加密算法。
4、  Autojs   不须要控制台输入和反调试,当抉择  Autojs  的时候,会主动屏蔽 “禁用控制台调试” 和 “禁止控制台输入”。
Autojs 加密注意事项
因为平时和应用 Autojs 的同学接触较多,发现一个比较严重的问题。Autojs 的研发人员,对   Autojs   的语法、JavaScript 语法审慎度、谨严度等都比拟毛糙,导致代码加密后不能运行,针对这个问题,上面提几点,心愿  Autojs  的研发人员,大神们留神了。
1、if、for、try…catch 等蕴含部分作用于的语法块的书写留神点。谬误示范:

if(type == 1){
    var mq = 'active';
}else if (type == 2){
    var mq = 'selected';
}else{
    var mq = 'checked';
}
//这里应用 mq 
console.log(mq);

下面的代码,在失常的业务中应用个别不会呈现问题,起因是 autojs 是基于 JavaScript ,因为 JavaScript 是弱语言,导致语法能够不必那么谨严。然而一旦加密的时候,因为 if 语句块外面保安的 mq 都是局部变量,这会有可能使加密程序会认为这 4个 mq 毫无关系。

正确示范:

var mq = 'checked';
if(type == 1){
     mq = 'active';
}else if (type == 2){
     mq = 'selected';
}
//这里应用 mq
console.log(mq);

下面的代码,先是定义一个变量“mq”,而后给一个默认值,如果业务中没有默认值,就给一个空串,或者就不给默认值,而后顺次判断条件,而后给出相应的值,这样书写,更加谨严,代码容错率好。加密起来也不会出问题。

其余阐明:

包含 “for” 循环中,写了局部变量,而后在 for 的里面去应用,这也是同理的情理。

包含try…catch 中,写了局部变量,而后在里面去应用,这也是同理的情理。

不要感觉这些无所谓,其实不论您是为了最初加密,还是平时书写,咱们应该能留神的就要留神到,能考究的就要考究,这样写进去的代码会更优良,容错率高,不会说运行着忽然出一些莫名其妙的问题。
2、办法名变量名放到字符串里,或者数组里等问题阐明。

谬误示范:

function demo() {
    alert('jsjiami.com');
}

setInterval("demo()",1000);

下面的代码,定义了一个办法名为“demo”,在一个定时工作中去1000毫秒(1秒),去执行demo办法。然而一旦加密后,有可能办法名demo 被脱敏了,变成了 “_0xkjda”相似这样了,而上面的字符串 “demo()”是没有任何变动的,导致找不到demo办法—demo is not defined。

正确示范:

function demo() {
    alert('jsjiami.com');
}

setInterval(demo,1000);

这样的话,加密程序能晓得 setInterval中的 demo指向下面的办法,加密后批改了办法变量名后,会同时批改2处,这样就不会造成找不到办法。

其余阐明:

这样的案例我看到N次,有的人是把办法放入数组中,或者去拼接字符串,而后去 eval 执行,都是同样的情理,因为字符串在没有运行的时候,咱们的加密工具是无奈辨认是否有关联。所以别用办法名、变量名以字符串形式去传递。
3、UI代码,也是最重要的问题。

最好的形式是把 ui 代码批改一下。

原来代码:


ui.layout(
    <drawer id="drawer">
        <vertical>
            <appbar bg="#ff0000">
                <toolbar id="toolbar" title="演示代码"/>
                <tabs id="tabs"/>
            </appbar>
            <viewpager id="viewpager">
                <frame>
                    <vertical gravity="top">
                        <text text="演示代码" margin="10" textColor="black" textSize="16sp"/>
                    </vertical>
                </frame>
                <frame layout_weight="1">
                    <webview id="webview" w="*" h="*"/>
                </frame>
            </viewpager>
        </vertical>
    </drawer>

    );

批改后代码:

var demo = '<drawer id="drawer">\
    <vertical>\
        <appbar bg="#ff0000">\
            <toolbar id="toolbar" title="演示代码"/>\
            <tabs id="tabs"/>\
        </appbar>\
        <viewpager id="viewpager">\
            <frame>\
                <vertical gravity="top">\
                    <text text="演示代码" margin="10" textColor="black" textSize="16sp"/>\
                </vertical>\
            </frame>\
            <frame layout_weight="1">\
                <webview id="webview" w="*" h="*"/>\
            </frame>\
        </viewpager>\
    </vertical>\
</drawer>'
    ui.layout(demo);

这也就能在应用“ https://www.jsjiami.com 加密”了

咱们在 Autojs 放入了ui; 代码就是ui.layout() 蕴含的代码,这种代码因为是ui,其实没必要加密,如果您就是想加密,先用 : JS/HTML混合加密【记得选纯JS加密】。

而后放到 JS 文件中,能够一起用最牛加密 https://www.jsjiami.com 加密,这样会成果好点。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理