Has anyone reversed DLL module(s) in recent Award BIOS?
The module is passed with a single 32-bit parameter. It's obvious that this parameter is a pointer to a data structure. However, I couldn't find the correct data structure until now.
Because I think most of these DLLs are shared between legacy Award BIOS binaries and the new UEFI implementation. It should be some form of data structure described in the UEFI standard, which I think very probably the UEFI System Table. The confusing part is legacy Award BIOS doesn't have the UEFY system table, so it could be SMBIOS table.
Anyone has worked on this thing?
UEFI System Table and Award BIOS DLL module
-
- Master Flasher
- Posts: 173
- Joined: Sun Mar 31, 2002 2:08 pm
- Location: Taka Bonerate National Park, Indonesia
- Contact:
I found the answer after reversing the BIOS binary for almost two days. I summarized the result at:
Pinczakko's Guide to Reversing Award BIOS DLL Support
Regarding the data structure pointer passed to the DLL module. It's a pointer to data structure in the stack of the entry point function in the HT32GATE.BIN "interface" file.
Anyway, it seems that the DLL module doesn't conform to UEFI specs. It's probably used only as a "back-end" if it's used in an x86/x86-64 UEFI firmware because it doesn't have the interfaces defined by the UEFI specs.
Pinczakko's Guide to Reversing Award BIOS DLL Support
Regarding the data structure pointer passed to the DLL module. It's a pointer to data structure in the stack of the entry point function in the HT32GATE.BIN "interface" file.
Anyway, it seems that the DLL module doesn't conform to UEFI specs. It's probably used only as a "back-end" if it's used in an x86/x86-64 UEFI firmware because it doesn't have the interfaces defined by the UEFI specs.