https://github.com/hyperifyio/goselfshield
GoSelfShield securely embeds and deploys encrypted executables in Go, using passphrase-protected self-replacement for enhanced security.
https://github.com/hyperifyio/goselfshield
Last synced: 9 days ago
JSON representation
GoSelfShield securely embeds and deploys encrypted executables in Go, using passphrase-protected self-replacement for enhanced security.
- Host: GitHub
- URL: https://github.com/hyperifyio/goselfshield
- Owner: hyperifyio
- License: other
- Created: 2024-04-13T10:46:57.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T15:01:41.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T00:46:34.646Z (almost 2 years ago)
- Language: Go
- Size: 14.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# goselfshield
GoSelfShield securely embeds and deploys encrypted executables in Go, using
passphrase-protected self-replacement for enhanced security.
## Usage
Assume you have an unencrypted executable at `./my-executable`.
With `goselfshield`, you can create an encrypted, self-executable installer:
```
goselfshield --private-key PASSPHRASE --output my-installer --source my-executable
```
After creation, you can distribute `my-installer` publicly.
To use the installer, your users need to know the passphrase used during its
creation:
```
./my-installer --installer-private-key PASSPHRASE
```
Notes:
- Omitting `--installer-output` causes the installer to replace itself and re-execute itself after successful unpacking.
- Omitting `--installer-private-key` prompts the user to enter the passphrase from the command line.
### Full example
```
$ goselfshield -output test-executable -source tmp/gomemory --private-key df0f56ae8e54c3e028d37f36d0eda121266bf49f4ef90d34873340b3175177d0
make: Nothing to be done for `all'.
Self-installer created: test-executable
$ ./test-executable --version
INSTALLER: Please enter your private key: df0f56ae8e54c3e028d37f36d0eda121266bf49f4ef90d34873340b3175177d0
INSTALLER: Decrypted to: /Users/jhh/git/hyperifyio/goselfshield/test-executable.tmp
INSTALLER: Backup made successfully to: /Users/jhh/git/hyperifyio/goselfshield/test-executable.bak
INSTALLER: Backup removed successfully.
HG's memory game v0.0.9 by Hangover Games
URL = https://memory.hangover.games
```