sign.pl (363B)
1 #!/usr/bin/perl 2 3 open(SIG, $ARGV[0]) || die "open $ARGV[0]: $!"; 4 5 $n = sysread(SIG, $buf, 1000); 6 7 if($n > 510){ 8 print STDERR "boot block too large: $n bytes (max 510)\n"; 9 exit 1; 10 } 11 12 print STDERR "boot block is $n bytes (max 510)\n"; 13 14 $buf .= "\0" x (510-$n); 15 $buf .= "\x55\xAA"; 16 17 open(SIG, ">$ARGV[0]") || die "open >$ARGV[0]: $!"; 18 print SIG $buf; 19 close SIG;