zoukankan      html  css  js  c++  java
  • electron 代码加密的一种实现

    electron打包后所有资源都会放到asar压缩文档里面,这个文件是可以被解压的。

    打包时虽然可以对js代码进行混淆(terser-webpack-plugin),但是这个方式只是增加了阅读难度,并没有实现代码的加密。

    对于有保密需求的逻辑最好的方式就是使用(N_API)实现。

    主进程和渲染进程代码加密的一种实现:

    1、主进程和渲染进程分别生成唯一的js文件(压缩和混淆):main.js和renderer.js

    2、在生成完成后打包之前对renderer.js文件进行可逆加密(如AES)

    3、打开窗口时读取renderer.js文件进行解密并运行(executeJavaScript

    这种方式也有缺陷,加解密函数都暴露在main.js文件里面,简单的混淆并不可靠,最后可以对main.js再次进行(加密

    具体过程:

    1、对renderer.js的生成不要自动插入html页面:inject配置项

     2、在build完成时加密renderer.js

     3、在主进程创建窗口完成时执行executeJavaScript方法加载renderer.js

  • 相关阅读:
    c++静态变量和静态函数
    c++抽象类和纯虚函数
    二维矩阵的算法
    JS操作CSS样式
    DOM
    JavaScript学习
    CSS样式表介绍
    HTML 学习整理
    ADO.Net知识总结
    数据库表查询高级 触发器游标等
  • 原文地址:https://www.cnblogs.com/laoq112/p/14872102.html
Copyright © 2011-2022 走看看