使用JsFuck保护代码中的敏感信息

场景:APP,Jar或者js中参数的加密秘钥不能明文存放。防止分析者直接按照关键词检索到结果。

方法:敏感的几个字符(不推荐特别多)通过jsfuck编码,应用中使用的时候再获取出来。这样可以防止静态代码分析时,快速找到关键点。

python实现关键代码保护

#Python代码实现方式
import js2py

js = """eval("(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]")"""
my_key = js2py.eval_js(js)
print(my_key)

注意事项:jsfuck可以编码任何文本,不一定是js代码。字符最好不要太多,尽量选择长度短的字母或者数字,秘钥等关键信息是一个非常好的选择。

java代码中使用jsfuck代码进行保护的示例:

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class Demo {

    public static void main(String[] args) throws ScriptException {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine engine = manager.getEngineByName("JavaScript");
        // JavaScript code in a String
        String script1 = "eval('(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]')";
end
  • 作者:kali(作者介绍)
  • 更新时间:2022-07-20 18:09
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:转载站点文章,请附上原文链接
  • 翻译声明:翻译文章会不严谨,请务必附上原文链接
  • 扫描阅读:扫描二维码,手机阅读该文章