当前位置: 首页 > Web前端 > HTML

Autojs如何安全加密?Autojs在线加密工具使用注意事项

时间:2023-03-28 13:52:56 HTML

Autojs加密选项勾选Autojs加密选项,系统会自动配置合适的Autojs加密方案。Autojs加密主要调整内容1.加密PX平坦系数调整更适合Autojs语法,使Autojs加密后不影响脚本运行速度。2.加密语法更兼容Autojs。3.更适合Autojs安全的加密算法。4、autojs不需要控制台输出和反调试。选择Autojs时,“Disableconsoledebugging”和“Disableconsoleoutput”会自动被屏蔽。Autojs加密注意事项因为平时接触较多使用Autojs的同学,所以发现了一个比较严重的问题。Autojs研发人员对Autojs语法粗暴,JavaScript语法谨慎、严谨等,导致代码加密后无法运行。针对这个问题,提以下几点,希望Autojs研发人员和高手注意。1、编写if、for、try...catch等包含局部效果的语法块时的注意事项。错误演示:if(type==1){varmq='active';}elseif(type==2){varmq='selected';}else{varmq='checked';}//这里使用mqconsole.log(mq);上面的代码在正常的业务使用中一般不会出现问题。原因是autojs是基于JavaScript的。由于JavaScript是一门弱语言,语法可能没有那么严格。但是一旦加密,由于if语句块中的mq都是局部变量,这可能会让加密程序认为这4个mq之间没有任何关系。正确示范:varmq='checked';if(type==1){mq='active';}elseif(type==2){mq='selected';}//usemqconsole.log(mq);上面的代码首先定义了一个变量“mq”,然后给出了一个默认值。如果业务中没有默认值,给空字符串,或者不给默认值,则依次判断条件,然后给相应的Value,这样写,比较严谨,代码有良好的容错率。加密没有问题。其他解释:包括“for”循环,写局部变量,然后在for外使用,同理。包括try...catch,写局部变量,然后在外面使用,也是这个道理。不要认为这无关紧要。其实不管你是为了最后的加密而写,还是在日常生活中写,我们都应该注意能注意什么,能注意什么就应该注意什么。这样写出来的代码会比较好,容错率高,不会突然Running一些莫名其妙的问题。2.将方法名和变量名放在字符串中,或??者放在数组等问题描述中。错误演示:functiondemo(){alert('jsjiami.com');}setInterval("demo()",1000);上面的代码定义了一个名为“demo”的方法,在一个计划任务中走到1000毫秒(1秒),执行demo方法。但是一旦加密,有可能方法名demo被脱敏变成类似这样的“_0xkjda”,而后面的字符串“demo()”没有变化,所以找不到demo方法——demo未定义。正确示范:functiondemo(){alert('jsjiami.com');}setInterval(demo,1000);这样加密程序就可以知道setInterval中的demo指向了上面的方法,加密后修改方法变量名后,会同时修改两个地方,这样就找不到方法了。其他说明:这种情况我见过N次了。有的人把方法放到数组里,或者拼接字符串,然后执行eval。同理,因为当字符串没有运行时,我们的加密工具是无法识别是否有关联的。所以不要用方法名和变量名来传入字符串。3.UI代码也是最重要的问题。最好的办法就是修改ui代码。原代码:ui.layout();修改代码:vardemo='\\\\\\\\\\\\\\\\\'ui布局(演示);这个也可以用“https://www.jsjiami.com加密”我们把ui放在Autojs里;代码是ui.layout()中包含的代码,因为这段代码是ui,其实不需要加密,如果只想加密,先用:JS/HTML混合加密【记得选纯JS加密]然后放到JS文件里面,可以用最好的加密https://www.jsjiami.com一起加密,效果会更好。