mirror of
https://github.com/bassrock/AVIC-NEX.git
synced 2025-05-31 23:59:16 +03:00
32 lines
778 B
Raku
Executable File
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;
|