首页 > 其他 > 详细

electron 代码加密的一种实现

时间:2021-06-10 23:46:35      阅读:36      评论:0      收藏:0      [点我收藏+]

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

技术分享图片

electron 代码加密的一种实现

原文:https://www.cnblogs.com/laoq112/p/14872102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!