因为 electron 的主程序和我们自己写的逻辑是独立的,那理论上我只要把我自己的程序的资源(asar)放到别人的 electron 程序目录里面就可以改变行为启动我自己的程序。
我实际测试了 2 款知名 electron 程序 ,都可以通过这种方法达到执行自己代码的目的,而且这些程序都是有数字签名的
至少这两家公司的软的数字签名是名存实亡,保护不了任何东西
1
dianso 2022-05-28 18:06:51 +08:00
本来就可以,阿里云盘小白羊版本一直是这么搞的
|
2
nieyujiang 2022-05-28 18:30:22 +08:00 via iPhone
对。原生的部分只是框架。框架部分只有引擎,实际运行的部分其实是 asar 里面的脚本。
|
3
chenzhekl 2022-05-28 20:06:09 +08:00 via Android
忽然感觉好不安全啊,脚本要是被添加了恶意代码,数字签名还显示有效,那数字签名就成了个摆设。
|
4
xiaoqidev 2022-05-28 21:59:29 +08:00
怎样分发程序呢,给压缩包让用户解压后直接运行?代码签名证书主要就是为了用户下载和安装时不被 SmartScreen 拦截,打包成单个 exe 需要重新签名,图标应该也改不了
|
5
xieqiqiang00 OP @xiaoqidev 可以修改主程序,验证 asar 是否被更改,这样只要保证主程序没有被修改就可以确保安全了
|
6
xiaoqidev 2022-05-29 13:05:41 +08:00
@xieqiqiang00 你用了别人的签名后如何分发?
|
7
xieqiqiang00 OP @xiaoqidev 该怎么分发就怎么分发啊
|
8
xiaoqidev 2022-05-29 22:44:01 +08:00
@xieqiqiang00 打包需要重新签名,改图标需要重新签名,是直接压缩一下让用户下载压缩包-解压-找到有别人图标的 exe 双击运行吗?
|
9
xieqiqiang00 OP @xiaoqidev 你安装包肯定没法签名了,但可以搞自解压的安装包,杀毒软件基本就会把你视为那个知名公司产品
|
10
xiaoqidev 2022-05-29 23:49:08 +08:00
@xieqiqiang00 自解压安装包也需要签名,你说的白嫖大公司签名跟不签名没有区别,签名主要为了过 SmartScreen ,不签名也能过杀毒软件
|
11
xieqiqiang00 OP @xiaoqidev 你这个目的的话,那不搞安装包直接 zip 就可以了
|
12
xiaoqidev 2022-05-30 00:16:47 +08:00
@xieqiqiang00 这样任何修改都改不了,比如打开软件图标都是别人的,下载安装过程也都毫无用户体验,目前用的 IV 证书,到期了续费证书结果跟新购一样,累计的 SmartScreen 信誉归零,想恰饭,计划下次到期以后还是老老实实注册公司买 EV 证书
|
13
xieqiqiang00 OP @xiaoqidev 不必局限于 electron
可以执行的代码类型很多,也不一定有界面,恶意软件也完全可以利用这点绕开杀毒软件 |