tar cvfz src.tar.gz src_folder perl xor_img.pl src.tar.gz key.jpg src.otp base64 src.otp > src.txt ------------------------------------------------ base64 -d src.txt > src.otp perl xor_img.pl src.otp key.jpg src.tar.gz tar xvfz src.tar.gz ------------------------------------------------ #!/usr/bin/perl open INPUT, "<$ARGV[0]" ; binmode INPUT; open INPUTKEY, "<$ARGV[1]"; binmode INPUTKEY; open OUTPUT, ">$ARGV[2]"; binmode OUTPUT; $i = 0; while (($n = read INPUT, $byte, 1) != 0) { read INPUTKEY, $key, 1; $xored = $byte ^ $key; print OUTPUT $xored; $i = $i+1; if ($i > 8191) { close INPUTKEY; open INPUTKEY, "<$ARGV[1]"; binmode INPUTKEY; $i = 0; } } close INPUT; close OUTPUT; close INPUTKEY; ------------------------------------------------