python-ransomware
python-ransomware copied to clipboard
Decryptions leaves old encrypted data
Issue:
If the encrypted base64 string is larger than the original file the f.write(data)
will expand the file, while the decryption will f.seek(0)
to the start of the file and write the original content but will leave a part of the encrypted base64 string at the "end" of the file.
fix:
Use f.truncate(0)
in addition to f.seek(0)
steps to reproduce:
echo "test" > test.txt
python main.py --action encrypt
cat test.txt
python main.py --action decrypt --keyfile keyfile
cat test.txt
Worked thx :)
got any fix?
Found it! f.truncate()
will fix
f.seek(0)
f.write(data)
f.truncate()