To deal with a particular maldoc sample, I added an option to numbers-to-hex.py to deal with signed bytes (negative and positive numbers used to represent byte values).
Here is a video:
The manual:
Usage: numbers-to-hex.py [options] [[@]file ...]
Program to convert decimal numbers into hex numbers
Arguments:
@file: process each file listed in the text file specified
wildcards are supported
Source code put in the public domain by Didier Stevens, no Copyright
Use at your own risk
https://DidierStevens.com
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-m, --man Print manual
-o OUTPUT, --output=OUTPUT
Output to file
-i, --ignore Do not generate an error when a number larger than 255
is found
-n NUMBER, --number=NUMBER
Minimum number of numbers per line (1 by default)
-s, --signed Numbers are signed bytes: add 256 if negative
Manual:
This program reads lines from the given file(s) or standard input, and
then extracts decimal numbers from each line. A decimal number is a
sequence of digits (optionally prefixed with a dash - for negative
numbers). All numbers found in a line are converted to hexadecimal and
outputed as a line. Hexadecimal numbers are separated by a space
character. If a number is smaller than 0 or larger than 255/0xFF, an
error is generated, except when option -i is used.
Option -s (--signed) indicates that the input numbers are signed
bytes: -1 is 0xFF, -2 is 0xFE, ...
Option -n NUMBER (--number) requires that at least NUMBER numbers are
present in the input line (the default is 1 number).
The hexadecimal numbers are written to standard output, except when
option -o is used. When option -o is used, the numbers are written to
the file specified by option -o.
numbers-to-hex_V0_0_3.zip (https)
MD5: EB8CE35EA272042211B1EADBE4606BE2
SHA256: 1CE2E7C6EF930C56024C0313C9FCE6E96A7FA6FC07893EAF06ACCC05A3D2C528
[…] Didier Stevens @ May 5, 2016 at […]
Pingback by Update: numbers-to-hex.py Version 0.0.3 – sec.uno — Friday 6 May 2016 @ 0:20
[…] Didier Stevens updated his numbers-to-hex.py to version 0.0.3. This update adds an option to deal with signed bytes. The script expects input to be from 0-255, and therefore will be unable to deal with signed bytes (which range from -128 to 127). The video attached shows that numbers-to-hex is used to convert certain output from oledump. Update: numbers-to-hex.py Version 0.0.3 […]
Pingback by Week 18 – 2016 – Thisweekin4n6 — Sunday 8 May 2016 @ 13:15
[…] Update: numbers-to-hex.py Version 0.0.3 […]
Pingback by Overview of Content Published In May | Didier Stevens — Saturday 11 June 2016 @ 0:01