AVIC-NEX/TestKeys/encode.pl
2015-07-27 22:36:14 -07:00

32 lines
778 B
Raku
Executable File

#!/usr/bin/perl
# Usage perl encode.pl 008Recovery003ALL00833333333009AllUpdate0082013010100820201230000 OUT.KEY
my $string = shift;
my $outfile = shift;
open(my $ofh, ">", $outfile) or die $!;
binmode($ofh);
my $stringLength = length($string);
$stringHalfLength = ($stringLength/2);
$string1 = substr($string, 0, $stringHalfLength);
$string2 = substr($string, $stringHalfLength, $stringHalfLength+1);
$string2 = reverse $string2;
for (my $i=0; $i < length($string2); $i++) {
my $string1Byte = ord(substr($string1, $i, 1)) + 0x14;
my $string2Byte = ord(substr($string2, $i, 1)) + 0x14;
if($i > length($string1)-1) {
print $ofh chr($string2Byte);
} else {
print $ofh chr($string2Byte), chr($string1Byte);
}
}
print "\n";
close $ofh;