Book Image

Learning Python for Forensics

By : Chapin Bryce
Book Image

Learning Python for Forensics

By: Chapin Bryce

Overview of this book

This book will illustrate how and why you should learn Python to strengthen your analysis skills and efficiency as you creatively solve real-world problems through instruction-based tutorials. The tutorials use an interactive design, giving you experience of the development process so you gain a better understanding of what it means to be a forensic developer. Each chapter walks you through a forensic artifact and one or more methods to analyze the evidence. It also provides reasons why one method may be advantageous over another. We cover common digital forensics and incident response scenarios, with scripts that can be used to tackle case work in the field. Using built-in and community-sourced libraries, you will improve your problem solving skills with the addition of the Python scripting language. In addition, we provide resources for further exploration of each script so you can understand what further purposes Python can serve. With this knowledge, you can rapidly develop and deploy solutions to identify critical information and fine-tune your skill set as an examiner.
Table of Contents (24 chapters)
Learning Python for Forensics
Credits
About the Authors
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Index

Parsing ID3 metdata – id3_parser.py


The id3_parser is similar to the exif_parser we have previously discussed. The id3Parser() function defined on line 14 checks the file signature and then calls the getTags() function. The getTags() function relies on the mutagen module to parse MP3 and ID3 tags.

001 import os
002 from time import gmtime, strftime
003  
004 from mutagen import mp3, id3
005  
006 import processors
007  
008 __author__ = 'Preston Miller & Chapin Bryce'
009 __date__ = '20160401'
010 __version__ = 0.01
011 __description__ = 'This scripts parses embedded ID3 metadata from compatible objects'
012  
013  
014 def id3Parser():
...
029 def getTags():

Understanding the id3Parser() function

This function is identical to the exifParser() function with the exception of the signature used in order to check file headers. The MP3 format has only one file signature, 0x494433, unlike the JPEG format. When we call the checkHeader() function, we supply the file, known signature, and the number...