ThreatCode
binnim
is a small command-line utility written in Nim to display files in \x
hex representation.
The intent is to use this on shellcode binary files to rapidly get strings to use for exploit development.
Perhaps one day this will include more representations of data, but for now, this suits my needs.
This is probably bad code, but it was an excuse to write some Nim.
nimble build
nimble install
./binnim --help
Usage:
binnim [optional-params] [filenames: string...]
Options:
-h, --help print this cligen-erated help
--help-syntax advanced: prepend,plurals,..
-w=, --width= int 20 set width
-q, --quotes bool true set quotes
./binnim ~/shellcode.bin
"\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x04\xa0"
"\x00\x00\x04\xa0\x01\x03\x00\x00\x00\xf5\x97\xa2\xff\x00\x00\x00\x06\x50\x4c\x54"
"\x45\x00\x00\x00\xff\xff\xff\xa5\xd9\x9f\xdd\x00\x00\x00\x02\x74\x52\x4e\x53\xff"
"\xff\xc8\xb5\xdf\xc7\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x12\x00\x00\x0b"
"\x12\x01\xd2\xdd\x7e\xfc\x00\x00\x04\x49\x49\x44\x41\x54\x78\x9c\xed\xd0\x41\x72"
"\xe4\x38\x0c\x00\xc1\xfe\xff\xa7\x67\xaf\x0e\x0e\x40\x55\xcf\x65\x1d\xa1\xac\x8b"
"\x6d\x89\x04\x52\xfe\xfc\xf9\x85\x7d\xfe\x6f\xc0\x14\x54\x0d\xaa\x06\x55\x83\xaa"
"\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50"
"\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d"
"\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa"
"\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50"
"\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d"
"\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\xb5\xbf\x50\x9f\x4b\xd3\xd9\xf3\xf7\xed"
"\xde\x57\x73\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"
"\x5e\x8d\x3a\x9f\x9d\x4b\xa7\x73\x13\xe2\x76\xfe\xb6\x0f\x0a\x0a\x0a\x0a\x0a\x0a"
"\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x6a\x5b\xb2\x2d\xfa\x06\xb9\xcd\x85"
"\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x7a\xba\x7c"
"\x42\xb6\x6e\x1f\x02\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05"
"\x05\x05\xf5\xaf\xa8\x13\x34\x3d\xbb\x01\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"
"\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\x0a\xaa\x62\x9f\xde\xd5\xb9\x50\x50\x50\x50\x50"
"\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\xe7\xe0\xb3\x13\xf0\xed\xcf"
"\xdb\x5c\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\xa8"
"\xda\x84\xfc\xf9\xee\x3c\xf3\xf5\x7c\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28"
"\x28\x28\x28\x28\x28\xa8\xd7\xa2\x3e\x43\xe7\xf3\x1b\x6e\x7b\x76\xfb\x09\x05\x05"
"\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x35\xa1\xb6\x8b\x1b"
"\x78\xfb\xb0\xed\xa3\xd6\xf9\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50"
"\x50\x50\x50\x50\xaf\x47\xdd\x9e\x3f\x01\x7e\x9e\x29\x08\x28\x28\x28\x28\x28\x28"
"\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\xa8\x09\xb1\xfd\x3e\xc1\x27\xd4\xd3"
"\xb3\x0d\x08\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\xf5"
"\x5e\xd4\x74\xe9\x33\xb4\xdd\xbb\x2d\x3d\xe7\xad\xff\x10\x28\x28\x28\x28\x28\x28"
"\x28\x28\x28\x28\x28\x28\x28\x28\x28\x28\xa8\x57\xa3\xa6\x21\xe3\xe5\xdb\xe0\x03"
"\xb7\x7d\xd0\xf8\x81\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50"
"\x50\x50\xaf\x45\x9d\x03\xcf\xa1\x4f\xf8\xf3\x43\x2a\x0e\x0a\x0a\x0a\x0a\x0a\x0a"
"\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x6a\x02\x4d\x0b\x9e\x96\x4f\xf3\x9e"
"\x3e\x0c\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x6a"
"\x1a\xbe\x0d\xdd\xa0\xd3\x99\xed\xe3\x26\x10\x14\x14\x14\x14\x14\x14\x14\x14\x14"
"\x14\x14\x14\x14\x14\x14\x14\x14\xd4\x89\xda\xce\xdc\x96\xdf\x3a\x81\x50\x50\x50"
"\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x1b\x62\x1a\xf6\x74"
"\x66\x9b\xf7\xf4\xb1\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50"
"\x50\x50\x50\xe7\xf2\x6d\xd9\x74\x6f\xc3\x6e\x90\x6d\x2e\x14\x14\x14\x14\x14\x14"
"\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\x14\xd4\x06\x9c\x96\x4e\xdd\xde\xdf\x66"
"\x42\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\xbd\x1b\xf5"
"\xd4\x86\x9e\xb0\xb7\x77\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50"
"\x50\x50\x50\x50\x13\x6a\xba\x74\x2e\x39\x61\xdb\x82\x09\x77\xc3\x40\x41\x41\x41"
"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x6d\x87\xb7\x85\x13\x70"
"\xfb\xfb\x36\x1f\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a"
"\x0a\xea\xe7\xa5\x73\xe9\xf6\xfc\x76\xf6\x7c\xb7\x9d\x81\x82\x82\x82\x82\x82\x82"
"\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\x82\xfa\x16\xb5\x0d\x9e\x10\xe7\xb9\xc7"
"\x19\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x50\x01"
"\x35\x41\xa6\x45\x1b\x74\x02\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41"
"\x41\x41\x41\x41\x41\x8d\x07\x2f\x0b\xcb\xdf\x13\x06\x0a\x0a\x0a\x0a\x0a\x0a\x0a"
"\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x6a\x5a\xbe\x75\x5b\xf2\x73\xc1\x76\xf6"
"\xdc\x31\x81\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"
"\xde\x8d\xfa\x0d\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41"
"\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35"
"\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa"
"\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41"
"\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35"
"\xa8\x1a\x54\x0d\xaa\x06\x55\x83\xaa\x41\xd5\xa0\x6a\x50\x35\xa8\x1a\x54\x0d\xaa"
"\x06\x55\xfb\x95\xa8\xff\x00\xfc\xc3\x4c\xf5\x46\x8d\xbe\x64\x00\x00\x00\x00\x49"
"\x45\x4e\x44\xae\x42\x60\x82"