mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-11-11 18:17:46 +08:00
35 lines
548 B
Perl
35 lines
548 B
Perl
#!/usr/bin/perl
|
|
|
|
# endian-swap S records; we need this because the JTAG tools we're using
|
|
# expect the memory image in byte-swapped format
|
|
#
|
|
# Jonathan Westhues, April 2004
|
|
|
|
if(@ARGV == 0) {
|
|
die "usage: $0 file-to-endian-swap.s19 > out.s19\n";
|
|
}
|
|
|
|
while(<>) {
|
|
chomp;
|
|
|
|
if(/^S0/) {
|
|
next;
|
|
}
|
|
if(/^S7/) {
|
|
print "$_\n";
|
|
next;
|
|
}
|
|
|
|
if(not /^S3(..)(........)(.*)(..)$/) {
|
|
die "bad S record at line $.\n";
|
|
}
|
|
|
|
$data = $3;
|
|
$checksum = $4;
|
|
|
|
print "S3$1$2";
|
|
while($data =~ m#(..)(..)(..)(..)#g) {
|
|
print "$4$3$2$1";
|
|
}
|
|
print "$checksum\n";
|
|
}
|