diff options
Diffstat (limited to 'platform/efi/efi_resolver/src/Plugin.cpp')
| -rw-r--r-- | platform/efi/efi_resolver/src/Plugin.cpp | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/platform/efi/efi_resolver/src/Plugin.cpp b/platform/efi/efi_resolver/src/Plugin.cpp index bfa19a7f..b562975c 100644 --- a/platform/efi/efi_resolver/src/Plugin.cpp +++ b/platform/efi/efi_resolver/src/Plugin.cpp @@ -5,60 +5,61 @@ using namespace BinaryNinja; -extern "C" { +extern "C" +{ BN_DECLARE_CORE_ABI_VERSION BINARYNINJAPLUGIN void CorePluginDependencies() { - BinaryNinja::AddOptionalPluginDependency("arch_x86"); - BinaryNinja::AddOptionalPluginDependency("arch_armv7"); - BinaryNinja::AddOptionalPluginDependency("arch_arm64"); - BinaryNinja::AddOptionalPluginDependency("platform_efi"); + BinaryNinja::AddOptionalPluginDependency("arch_x86"); + BinaryNinja::AddOptionalPluginDependency("arch_armv7"); + BinaryNinja::AddOptionalPluginDependency("arch_arm64"); + BinaryNinja::AddOptionalPluginDependency("platform_efi"); } static Ref<BackgroundTask> efiBackgroundTask = nullptr; void Run(Ref<BinaryView> view) { - efiBackgroundTask = new BackgroundTask("Loading EFI protocol mappings!", true); - thread resolverThread([view]() { - LogInfo("Entering new thread"); + efiBackgroundTask = new BackgroundTask("Loading EFI protocol mappings!", true); + thread resolverThread([view]() { + LogInfo("Entering new thread"); - LogInfo("Identifying module type"); - EFIModuleType moduleType = identifyModuleType(view); + LogInfo("Identifying module type"); + EFIModuleType moduleType = identifyModuleType(view); -#ifdef DEBUG - auto undo = view->BeginUndoActions(); +#ifndef DEBUG + auto undo = view->BeginUndoActions(); #endif - if (moduleType == PEI) { - efiBackgroundTask->SetProgressText("Resolving PEIM..."); - auto resolver = PeiResolver(view, efiBackgroundTask); - resolver.resolvePei(); - } else if (moduleType == DXE) { - efiBackgroundTask->SetProgressText("Resolving DXE protocols..."); - auto resolver = DxeResolver(view, efiBackgroundTask); - resolver.resolveDxe(); - efiBackgroundTask->SetProgressText("Resolving MM related protocols..."); - resolver.resolveSmm(); - } + if (moduleType == PEI) + { + efiBackgroundTask->SetProgressText("Resolving PEIM..."); + auto resolver = PeiResolver(view, efiBackgroundTask); + resolver.resolvePei(); + } + else if (moduleType == DXE) + { + efiBackgroundTask->SetProgressText("Resolving DXE protocols..."); + auto resolver = DxeResolver(view, efiBackgroundTask); + resolver.resolveDxe(); + efiBackgroundTask->SetProgressText("Resolving MM related protocols..."); + resolver.resolveSmm(); + } -#ifdef DEBUG - resolver.m_view->CommitUndoActions(undo); +#ifndef DEBUG + view->CommitUndoActions(undo); #endif - efiBackgroundTask->Finish(); - }); - resolverThread.detach(); + efiBackgroundTask->Finish(); + }); + resolverThread.detach(); } BINARYNINJAPLUGIN bool CorePluginInit() { - EfiGuidRenderer::Register(); + EfiGuidRenderer::Register(); - PluginCommand::Register( - "EFI Resolver\\Resolve EFI Types And Protocols", - "Resolve EFI Protocols", - &Run); + PluginCommand::Register("EFI Resolver\\Resolve EFI Types And Protocols", "Resolve EFI Protocols", &Run); - return true; + return true; } } |
