Skip to content

Instantly share code, notes, and snippets.

@JburkeRSAC
Created September 14, 2016 19:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JburkeRSAC/ae198c55f13892a711ed93e8cd3606b3 to your computer and use it in GitHub Desktop.
Save JburkeRSAC/ae198c55f13892a711ed93e8cd3606b3 to your computer and use it in GitHub Desktop.
php implementation of hexdump on $argv[1] supplied file
<?php
function hex_dump($data, $newline="\n"){
static $from = '';
static $to = '';
static $width = 16; # number of bytes per line
static $pad = '.'; # padding for non-visible characters
if($from===''){
for($i=0; $i<=0xFF; $i++){
$from .= chr($i);
$to .= ($i >= 0x20 && $i <= 0x7E) ? chr($i) : $pad;
}
}
$hex = str_split(bin2hex($data), $width*2);
$chars = str_split(strtr($data, $from, $to), $width);
$offset = 0;
foreach($hex as $i => $line){
echo sprintf('%6X',$offset).' : '.implode(' ', str_split($line,2)) . ' [' . $chars[$i] . ']' . $newline;
$offset += $width;
}
}
$file = $argv[1];
$image = file_get_contents($file);
hex_dump($image);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment