diff --git a/FakeKitten.sh b/FakeKitten.sh index 857dbc1..74fffa6 100755 --- a/FakeKitten.sh +++ b/FakeKitten.sh @@ -1,35 +1,55 @@ #!/usr/bin/env bash -if [ -z "$1" ] || [ -z "$2" ] || [[ $2 != "encode" && $2 != "decode" ]] +if [ -z "$1" ] || [ -z "$2" ] || [[ $2 != "encode" && $2 != "decode" && $2 != "encode_enc" ]] then echo "launch the script with the desired filename and operation" echo "./AmazonPrimeWhatever.sh FILENAME OPERATION(encode or decode)" exit fi - - -if [ $2 = "encode" ]; then - imagejpg="random.jpg" - image="random.DNG" - #generate random image: - mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size "${mx}x${my}" RGB:- $imagejpg - mv $imagejpg $image - imagesize=$(du -b $image | cut -f1) - origsha=$(sha1sum $1 | cut -d " " -f1) - destimage="FakeKitten_"$imagesize"_"$1"_"$origsha"_"$image - mv $image $destimage - dd if=$1 bs=1M >> "$destimage" - echo "encode completed in $destimage" +if [ $2 = "encode" ] || [ $2 = "encode_enc" ]; then + imagejpg="random.jpg" + image="random.DNG" + #generate random image: + mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size "${mx}x${my}" RGB:- $imagejpg + mv $imagejpg $image + imagesize=$(du -b $image | cut -f1) + if [ $2 = "encode" ]; then + origsha=$(sha1sum $1 | cut -d " " -f1) + destimage="FakeKitten_"$imagesize"_"$1"_"$origsha"_"$image + mv $image $destimage + dd if=$1 bs=1M >> "$destimage" + echo "encode completed in $destimage" + fi + if [ $2 = "encode_enc" ]; then + # + gpg --symmetric --cipher-algo AES256 $1 + # + origsha=$(sha1sum $1.gpg | cut -d " " -f1) + destimage="FakeKittenENC_"$imagesize"_"$1.gpg"_"$origsha"_"$image + mv $image $destimage + dd if=$1.gpg bs=1M >> "$destimage" + echo "encode completed in $destimage" + fi fi + if [ $2 = "decode" ]; then + imageconst=$(echo $1 | cut -d "_" -f1) imagebs=$(echo $1 | cut -d "_" -f2) origname=$(echo $1 | cut -d "_" -f3) origsha=$(echo $1 | cut -d "_" -f4) origimage=$(echo $1 | cut -d "_" -f5) + dd if=$1 bs=1M skip=$imagebs iflag=skip_bytes > "$origname" - echo "decode completed in $origimage, checking file integrity" + + if [ $imageconst = "FakeKittenENC" ]; then + #decrypt the file + orignamenogpg=$(echo "$origname" | sed 's/.gpg//') + gpg --output $orignamenogpg --decrypt $origname + fi + + echo "decode completed in $origname, checking file integrity" echo $origsha" "$origname > $origname".sha1" shaoutput=$(sha1sum -c $origname".sha1") echo $shaoutput @@ -41,6 +61,10 @@ if [ $2 = "decode" ]; then rm $origname".sha1" exit fi + if [ $imageconst = "FakeKittenENC" ]; then + #remove the file that contains .gpg at the end + rm $origname + fi rm $origname".sha1" fi