Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / NVRAM / NvramPei / NvramPei_rename.py
@Ajax Dong Ajax Dong 2 days ago 2 KB Restructure the repo
"""
NvramPei - Function Rename Script
===================================
Run this script in IDA Pro (File -> Script File...) to rename all
functions in the NvramPei module with meaningful names.

Module: 0407_NvramPei
Binary: NvramPei.efi
IDA database: NvramPei.efi.i64
"""

import idaapi
import ida_funcs
import idc

renames = {
    0xFFE4D6F4: "InternalMemCopyMem",
    0xFFE4D734: "InternalMemZeroMem",
    0xFFE4D754: "InternalMemSetMem32",
    0xFFE4D774: "InternalMemZeroMem32",
    0xFFE4D794: "_ModuleEntryPoint",
    0xFFE4D7F9: "GpioLockPads",
    0xFFE4D8E5: "GpioNvramProtectInit",
    0xFFE4D948: "PeiGetVariableOld",
    0xFFE4D991: "PeiGetNextVariableNameOld",
    0xFFE4D9D5: "PeiGetVariable",
    0xFFE4DA3B: "PeiGetNextVariableName",
    0xFFE4DA9A: "PeiServicesInstallPpi",
    0xFFE4DB15: "NvramLoadDefaults",
    0xFFE4DBAC: "NvramSetupBackup",
    0xFFE4DBEB: "NvramCheckHobForVariable",
    0xFFE4DC55: "NvramPeiEntry",
    0xFFE4DFDF: "NvramPeiGetFvInfo",
    0xFFE4DFF9: "NvramVarStoreInitHeader",
    0xFFE4E01D: "NvramVarStoreInit",
    0xFFE4E092: "FvbFindBlockMap",
    0xFFE4E147: "FvbIsBufferErased",
    0xFFE4E205: "FvbEraseBlock",
    0xFFE4E28C: "FvbGetNextBlock",
    0xFFE4E2C3: "FvbInternalWrite",
    0xFFE4E3DF: "FvbWriteBlock",
    0xFFE4E4CA: "FvbFindBlock",
    0xFFE4E50E: "FvbInit",
    0xFFE4E573: "FvbGetVolumeAttributes",
    0xFFE4E5E2: "FvbSetVolumeAttributes",
    0xFFE4E633: "FvbGetPhysicalAddress",
    0xFFE4E74B: "FvbGetBlockSize",
    0xFFE4E789: "FvbRead",
    0xFFE4E81E: "FvbWrite",
    0xFFE4E87B: "FvbAllocateNewBuffer",
    0xFFE4E8CA: "VariableServiceGetVariable",
    0xFFE4E93B: "VariableServiceGetNextVariableName",
    0xFFE4EADD: "GetVariableHeaderSize",
    0xFFE4EB27: "GetVariableStoreStatus",
    0xFFE4EB46: "CompareVariableStoreBackup",
    0xFFE4EBB5: "NvramRepairFromBackup",
    0xFFE4EC6E: "GpioGetPadConfig",
    0xFFE4EE88: "GpioIsPadLocked",
    0xFFE4EED7: "GpioGetPadCfgFromDev",
    0xFFE4F027: "GpioLockPad",
    0xFFE4F073: "GpioUnlockAllPads",
    0xFFE4F0BF: "GpioGetGroupCount",
    0xFFE4F0E0: "GpioGetGroupToPadBase",
    0xFFE4F1FD: "GpioConfigurePad",
    0xFFE4F4EC: "GpioUpdatePadCfg",
    0xFFE4F513: "GpioGetPadCfgRegAddr",
    0xFFE4F73A: "PeiServicesGetBootMode",
    0xFFE4F76B: "DebugPrint",
    0xFFE4F7B3: "PeiServicesGetPpiList",
    0xFFE4F7E5: "DebugAssert",
    0xFFE4F8B6: "NvramValidateStore",
    0xFFE4FAC2: "ReadPciConfigRegister",
    0xFFE4FB4F: "PeiGetVariableAddressAmi",
    0xFFE4FD63: "DebugPrintEnabled",
}

count = 0
for ea, name in renames.items():
    if idc.set_name(ea, name, idc.SN_NOWARN | idc.SN_NOCHECK):
        count += 1
    else:
        print(f"Failed to rename 0x{ea:08X} -> {name}")

print(f"Renamed {count}/{len(renames)} functions successfully.")