Python Program

profilerajatbasnet
Assignment1-Copy.pdf

CSCI 352 - Digital Forensics Assignment #1

Spring 2020

Due Date: Tuesday, February 25, 2020

Total Points: 100

You are going to write a Python program that represents a command line version of a hexadecimal editor.

This program will be similar to the Linux built-in command line hexadecimal editors such as xxd and

hexdump.

The program will first ask the user to enter the name of any file you want to read. Your program will then

print the binary contents of the file into the standard output (screen). The output will be divided into three

main sections: the offset values in decimal, sixteen space-separated hexadecimal bytes, followed by the

same sixteen bytes but in ASCII value. The figure below shows an example of the first 48 bytes of an

output, and the three different sections:

Notice that in the 2nd section there a space between the 8th and 9th byte. Each output line represents 16 bytes.

The first column shows the decimal offset, where the first byte from the first line represents the 0th byte;

the second line starts with byte 16th and so on. The final section only shows the printable ASCII characters.

These are the ASCII characters can be printed on the screen (usually they are the characters with ASCII

values between 0x20 and 0x7EThe rest of the unprintable bytes are replaced by a period ('.'). The following

built-in Python functions will be useful in this situation: chr, hex, ord. More information about these

functions can be found here: https://docs.python.org/3/library/functions.html

What to hand in

Submit your program electronically through D2L. Please hand in the Python program (.py file or.ipynb)

offset

Hexadecimal Values

ASCII Values