alex8088 / electron-vite

Next generation Electron build tooling based on Vite 新一代 Electron 开发构建工具,支持源代码保护
https://electron-vite.org
MIT License
3.56k stars 153 forks source link

使用bytecodePlugin混淆代码打包exe安装包,解压asar文件,main、preload中还是源码 #610

Closed czh1998yr closed 2 months ago

czh1998yr commented 2 months ago

Describe the bug

我按照了文档中,配置了bytecodePlugin(),然后进行 buid:win 打包,安装了生成的安装包后,找到asar文件,使用asar extract app.asar app_extracted进行解包,解压出来的main和preload还是我的源码

image

Electron-Vite Version

2.3.0

Electron Version

31.0.2

Vite Version

5.3.1

Validations

alex8088 commented 2 months ago

脚手架默认配置排除src源代码目录,确保你的electron-builder配置有排除src目录打包。请确认你解压的文件内容,是否为字节码文件。

czh1998yr commented 2 months ago

您的意思是,我在使用bytecodePlugin()之前,应该在electron-builder配置排除src目录的打包吗,您前半句说:脚手架默认配置排除src源代码目录,我没有更改过这部分的内容,我确认了解压的文件内容中不是字节码文件,而是原始的ts文件

czh1998yr commented 2 months ago

image 这是我解压出来之后的内容

alex8088 commented 2 months ago

显然更改了electron-builder 默认配置,也不见构建的输出的代码目录默认为out。https://electron-vite.org/guide/distribution#distributing-apps-with-electron-builder

czh1998yr commented 2 months ago

上图中,是解压asar得出的内容,不是原始项目中的内容,原始项目中,out目录中的确实是字节码文件,就是打成安装包后,在安装目录中找到asar解压出来的文件存在这个问题,我新建一个纯新的项目试一下

czh1998yr commented 2 months ago

image 新建项目后,不添加以上内容,解压后无src目录,out中为字节码,在package.json加了上段内容后,解压后包含src目录,但我不知道是由于哪个配置导致的

alex8088 commented 2 months ago

https://electron-vite.org/guide/distribution#distributing-apps-with-electron-builder

alex8088 commented 2 months ago

移除package.json build 字段,在 electron-builder 配置文件修改配置

czh1998yr commented 2 months ago

有效,感谢您的耐心解答~

axssbug commented 1 month ago

移除package.json build 字段,在 electron-builder 配置文件修改配置

请问一下,package.json里面没有build字段,也在electron.vite.config.ts的main里面启动了bytecodePlugin

使用npm run build后. out下main里面没有jsc,还是一个index.js的,感觉没有起作用

可能会是哪的问题呢

axssbug commented 1 month ago

移除package.json build 字段,在 electron-builder 配置文件修改配置

请问一下,package.json里面没有build字段,也在electron.vite.config.ts的main里面启动了bytecodePlugin

使用npm run build后. out下main里面没有jsc,还是一个index.js的,感觉没有起作用

可能会是哪的问题呢

找到问题了,package.json必须用type: commonjs