2023-05-13 21:25:27 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import os
|
|
|
|
from pathlib import Path
|
2023-05-14 08:11:27 +00:00
|
|
|
from sys import argv
|
2023-05-13 21:25:27 +00:00
|
|
|
|
2023-05-15 12:31:20 +00:00
|
|
|
from lib.base import eprint, encrypt, decrypt
|
2023-05-13 21:25:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
def usage(info = None):
|
|
|
|
if info:
|
2023-05-14 07:18:12 +00:00
|
|
|
eprint(info)
|
|
|
|
eprint(f'Usage: {argv[0]} <e|d> filename.bin > raw.bin')
|
|
|
|
eprint(f' Example decode: {argv[0]} d k5_26_encrypted.bin > k5_26_raw.bin')
|
|
|
|
eprint(f' Example encode: {argv[0]} e k5_26_raw.bin > k5_26_encrypted.bin')
|
2023-05-13 21:25:27 +00:00
|
|
|
exit(128)
|
|
|
|
|
2023-05-14 07:18:12 +00:00
|
|
|
|
2023-05-13 21:25:27 +00:00
|
|
|
def main():
|
|
|
|
if len(argv) != 3:
|
|
|
|
usage()
|
|
|
|
|
|
|
|
encdec = argv[1]
|
|
|
|
fname = argv[2]
|
2023-05-14 08:11:27 +00:00
|
|
|
file_bytes = Path(fname).read_bytes()
|
2023-05-13 21:25:27 +00:00
|
|
|
|
|
|
|
if encdec == 'd':
|
2023-05-14 08:11:27 +00:00
|
|
|
decrypted = decrypt(file_bytes)
|
2023-05-13 21:25:27 +00:00
|
|
|
os.write(1, bytes(decrypted))
|
2023-05-14 07:18:12 +00:00
|
|
|
eprint('Success!')
|
2023-05-13 21:25:27 +00:00
|
|
|
return
|
2023-05-14 07:18:12 +00:00
|
|
|
|
2023-05-13 21:25:27 +00:00
|
|
|
if encdec == 'e':
|
2023-05-14 08:11:27 +00:00
|
|
|
encrypted = encrypt(file_bytes)
|
2023-05-13 21:25:27 +00:00
|
|
|
os.write(1, bytes(encrypted))
|
2023-05-14 07:18:12 +00:00
|
|
|
eprint('Success!')
|
2023-05-13 21:25:27 +00:00
|
|
|
return
|
|
|
|
|
|
|
|
usage()
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|