#!/usr/bin/perl if ($#ARGV < 1 ) { print "substr \n"; exit; } open ( INFILE, $ARGV[0]) || die "Can't open $ARGV[0]"; open (OUTFILE, ">$ARGV[1]") || die "Can't open $ARGV[1]"; $offset = hex($ARGV[2]); $len = hex($ARGV[3]); read (INFILE, $buf,$offset); read (INFILE, $buf,$len); #syswrite(OUTFILE,$buf,$len); select(OUTFILE); @sent=unpack("c256",$buf); for($i=0;$i<$len;$i++) { # print "$sent[$i] "; if( ($i>0) && (($i%16)==0) ){print "\n";} if( ($i%8) eq 0){print " "; } if(($i%16)==0){ printf("%02x: ",$i); } $val=$sent[$i]; if($val<0){$val+=0x100;} printf("%02x ",$val); }