BINCRYPTER(1)

πŸ“¦ version 1.3, in ubuntu stonking

πŸ’– BINCRYPTER πŸ’–

okay so bestie, welcome to bincrypter β€” she's the manual page for the General Commands Manual era of this whole thing, and she is iconic. buckle up πŸŽ€


✨ NAME ✨

bincrypter β€” encrypt / obfuscate your executables or scripts. that's it, that's the gig πŸ’…


🌸 SYNOPSIS 🌸

bincrypter [-hlq] [program] [password]

πŸ¦‹ DESCRIPTION πŸ¦‹

bincrypter is a privacy and copyright protection tool for executables and scripts. she's giving bodyguard energy fr fr 🫢

so here's the deal: the bincrypter command compresses and obfuscates a program, and if you hand her a password, she will encrypt the program too. and that encrypted program? it will only run if the correct password shows up β€” either via the environment variable or because the user typed it in when they ran the thing. no password, no party. periodt.

the default mode is compress + obfuscate only, no encryption:

$ bincrypter myscript.sh

and encryption kicks in the second you give her a password:

$ bincrypter myscript.sh MySecret

πŸ’… OPTIONS πŸ’…

  • -h β€” display help information. the classic "just tell me what to do" button 🌈
  • -l β€” lock the program to the target system & user id (UID). if the program gets moved to another system, or run under a different UID (by a different user), execution will fail. it's giving "you don't belong here" 😭
  • -q β€” quiet. suppress all output. shhh 🀫

πŸŽ€ NOTES πŸŽ€

the program can be a file, or - for stdin. yes, stdin is valid, she's flexible like that πŸ’œ


⭐ ENVIRONMENT ⭐

various environment variables are used to control the behavior of bincrypter. let's meet the cast πŸ‘‘

  • PASSWORD β€” password to encrypt/decrypt. πŸ”
  • BC_PASSWORD β€” same as PASSWORD, but BC_PASSWORD is exported and available to the callee. this is the move when you wanna run a program that's been encrypted twice, using two separate passwords. first with BC_PASSWORD, and then with PASSWORD. double-locked, double-cute πŸŽ€πŸ”’
  • BC_PADDING β€” adds 0..n% of random padding to the original program. the whole point is to foil attempts to identify the size of the original program. default is 25. use BC_PADDING=0 to disable. keep 'em guessing bestie πŸ¦‹
  • BC_QUIET β€” see -q. same vibe, different channel.
  • BC_LOCK β€” see -l. default is BC_LOCK=0. the program will refuse to run if executed on a different system or with a different UID. instead, it will terminate with the numerical value of BC_LOCK, or β€” if set to a string β€” execute the string instead. for example:
BC_LOCK="echo 'LOCKED. You are not permitted to run this program.'; exit 255"

so yeah, you can make it throw hands on the way out πŸ’€


πŸ”₯ EXAMPLES πŸ”₯

see -h for examples. go peek, she wrote a whole list πŸ’–


🌈 SECURITY 🌈

the encryption is as strong as the chosen password. chose wisely. that's not a suggestion, that's a whole lifestyle. pick something that isn't password123 okay 😭


πŸ‘‘ SEE ALSO πŸ‘‘

upx(1)


πŸ™ˆ BUGS πŸ™ˆ

efforts have been made to have bincrypter "do the right thing" in all its various modes. if you believe she's doing the wrong thing under whatever circumstances, please notify me and tell me how you think she should behave. constructive feedback only please, we're being nice in this house 🫢


πŸ’œ AUTHOR πŸ’œ

bincrypter was written by the fine people at https://thc.org. the latest version is available at https://github.com/hackerschoice/bincrypter. absolute legends, no cap 🌟


aaaaand that's the whole page bestie!! πŸ’– this little love letter ships as part of Debian, version dated April 17, 2025 β€” go forth and encrypt responsibly πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from