Image of Modern Operating Systems (3rd Edition)
Image of Beginning Google Maps API 3
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of Linux Kernel Development (3rd Edition)

Avast Retargetable Decompiler IDA Plugin

In this post, I compare and contrast the C code generated by the newly open-sourced Avast Retargetable Decompiler with that produced by the mature and well-known IDA Hey-Rays decompiler for a number of simple IA32 executables.

Installing and Configuring UDK2017 on Fedora 26

In this post, I show you how to install and configure UDK2017 on Fedora 26. I also show you how to build a simple HelloWorld UEFI application using the installed UDK2017 tools and environment.

Manipulating Binary Data Using The Korn Shell

In this post, I demonstrate via a number of working example scripts how to manipulate binary files and data using Korn Shell 93. I also compare and contrast how binary data is stored internally by the Korn Shell and the Z Shell.

Using the EFI_SHELL_PROTOCOL To Read a File

In this post, I provide the source code for a working UEFI shell application which displays the contents of an ASCII file using functionality provided by EFI_SHELL_PROTOCOL.

UEFI Utility to Read TPM 2.0 PCRs

In this post, I discuss a number of key TPM 2.0 features such as multiple algorithm support and PCR banks, and provide the source code for a UEFI shell utility to display the digests from the first 24 PCRs of a TPM 2.0 implementation.