Image of Linux Kernel Development (3rd Edition)
Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)
Image of Android Wireless Application Development
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)

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.

UEFI Utility to Read TPM 1.2 PCRs

In this post, I provide the source code for a UEFI shell utility to print out all the Platform Configuration Registers (PCRs) for a TPM 1.2 (Trusted Platform Module, version 1.2) and briefly discuss SRTM versus DRTM.

Examining Intel Microcode in Lenovo Firmware Updates

This post demonstrates how to extract Intel microcode updates from a Lenovo firmware update using UEFItool and subsequently use an 010 Editor template to extract useful information from the extracted Intel microcode updates.

RNG Protocol Error in Lenovo ThinkPad Firmware

This post discusses the UEFI 2.4 Random Number Generator protocol and Lenovo’s current implementation of the protocol and suggests there is an error in their implementation.

Lenovo ThinkPwn POC Ported to UDK2015

This blog contains the source code for my UDK2015 port of the ThinkPwn Oday proof of concept demonstration.