Es ist Unmöglich, den Code vollständig zu schützen, egal wie Sie ihn verpacken, damit er ausgeführt werden kann, muss er zugänglich und entschlüsselt sein, was bedeutet, dass der Schlüssel lokal gespeichert werden muss.
Betrachten Sie dieses Szenario;
Die Autoren des Elektronensystems und des asar-Dateiformats implementieren die Verschlüsselung ähnlich wie ein passwortgeschützter zip und geben Ihnen die Möglichkeit, das Archivpasswort zur Kompilierzeit anzugeben, damit es sicher in der .exe und der .exe gespeichert wird asar-Datei kann ohne sie nicht geöffnet/gelesen werden.
Ein Hacker konnte immer noch den Schlüssel herausfinden, indem er sich selbst mit einigen Testschlüsseln, zum Beispiel AAAA und AAAB, kompilierte und dann die resultierende Binärdatei verglich, um den Ort der Schlüsselfolge darin zu bestimmen. Sobald sie wissen, wie man den Schlüssel aus der EXE extrahiert, ist das Spiel vorbei.
Ich denke, der stärkste Schutz, den Sie machen können, ist, wenn Sie den Elektronenquellcode selbst ändern, um den Schlüssel zu speichern und abzurufen, aber selbst dann kann ein Angreifer den Code dekompilieren, vergleichen Sie ihn mit einer dekompilierten Standardversion von Elektron wo Ihre Code-Änderungen beginnen und Reverse Engineering es, bis sie herausfinden, wie Sie den Schlüssel speichern.
In dem Moment, in dem sie den Schlüssel haben, ist das Spiel vorbei, und damit ein Elektron Code laufen kann, muss es in der Lage sein, es zu lesen, was bedeutet, dass der Schlüssel lokal verfügbar sein muss. Catch 22.
Sie müssten auch einen Weg finden, um gegen Aufrufe von toString zu schützen, die entschlüsselte Quellen anzeigen könnten. – gaspard