Te damos el hallazgo a este atasco, o por lo menos eso esperamos. Si tienes interrogantes coméntalo, para nosotros será un gusto ayudarte
Solución:
Hay una biblioteca llamada bytenode que le permite convertir sus archivos Javascript en archivos binarios para que nadie pueda leerlos.
https://www.npmjs.com/package/bytenode
Primero instale bytenode en su servidor y en su carpeta:
>npm i -g bytenode
>npm i bytenode
Cree un archivo nodeJS normal con el siguiente código. Imaginemos que nombramos el siguiente código: ok.js
console.log('bytenode works');
Luego, compile su código javascript. El comando creará un archivo .JSC con el mismo nombre que su archivo.
[email protected]:~$ bytenode -c ok.js
Luego, en un archivo JS principal, llamará a su binario, llamémoslo test.js:
const bytenode = require('bytenode');
const myFile=require('./ok.jsc');
myFile;
Guárdalo.
Luego, llamará a test.js: node test.js para probarlo. Haz un “cat ok.jsc” para ver que es realmente un binario y que nadie puede ver tu código. Puede mover su archivo js de prueba simple original a otra ubicación.
tl; dr Puedes y no vale la pena el esfuerzo. Simplemente empaquete su fuente en un asar
archivo, mantiene a la mayoría de la gente alejada de él.
Mensaje largo:
- Utilizar el
asar
opción al construir su aplicación. - Ofuscando el código con un feo.
- Usar WASM
- Enlaces de idioma para tomar sus datos de un formato compilado
- neonjs para óxido
- borde-js para C#
- API N, NAN para C/C++
De lo contrario, sus archivos son scripts, todos estos pasos solo ralentizan a un atacante (táctica de muchas defensas), pero no evitarán que acceda a ellos. Las devTools son bastante fáciles de abrir y las personas podrán leer el código de alguna manera o forma. Y si alguien obtiene su código ofuscado, es simple reconstruir lo que está sucediendo (ver aquí para referencia: https://www.youtube.com/watch?v=y6Uzinz3DRU)
Si desea protegerse de la manipulación del código, existen mejores formas de hacerlo. Al igual que Hashing, Aislamiento de contexto, etc., electron tiene un capítulo completo sobre el tema.
https://github.com/electron/electron/blob/master/docs/tutorial/security.md
Te invitamos a estimular nuestro trabajo dejando un comentario o dejando una puntuación te lo agradecemos.