Lucene search

K
talosblogChris NealTALOSBLOG:3A0C29690BAADE5822A18BB80B5B2598
HistoryOct 10, 2024 - 10:00 a.m.

Ghidra data type archive for Windows driver functions

2024-10-1010:00:09
Chris Neal
blog.talosintelligence.com
reverse engineering
windows drivers
data type archives
ghidra
cisco talos
github
undocumented functions
analysts
malicious drivers

AI Score

7.6

Confidence

Low

Ghidra data type archive for Windows driver functions

While reverse-engineering Windows drivers with Ghidra, it is common to encounter a function or data type that is not recognized during disassembly.

This is because Ghidra does not natively include the majority of the definitions for data types and functions used by Windows drivers.

Thankfully, these problems can usually be solved by importing Ghidra data type archive files (.gdt) that contain the relevant definitions.

However, it is not uncommon that the definitions in question aren’t available in a preexisting .gdt file, meaning a new definition must be created manually. Additionally, in some cases, the function or data type may be undocumented by Microsoft, making the process of creating a new definition a more tedious process.

To aid analysts in reverse engineering Windows drivers, Cisco Talos is releasing a GDT file on GitHub that contains various definitions for functions and data types that have been created as needed during our analysis of malicious drivers, as they were not present in the commonly used data type archives.

It is important to note that this archive is not intended to contain all undocumented Windows functions or serve as a replacement for other available data type archives, but as a supplement to them. This is a long-term project that will continue to grow when new definitions are created by our analysts and added to the public release.

The archive can be found here on our GitHub repository.

AI Score

7.6

Confidence

Low