diff --git a/LICENSE b/LICENSE index d2a5f30..8fb1fc7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2023 Vector 35 Inc. +Copyright 2023-2024 Vector 35 Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.md b/README.md index 0fb8523..e286b44 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# EFI Resolver (v1.1.0) +# EFI Resolver (v1.2.0) Author: **Vector 35 Inc** _A Binary Ninja plugin that automatically resolves type information for EFI protocol usage._ ## Description: -EFI Resolver is a Binary Ninja plugin that automates the task of resolving EFI protocol type information. It propagates pointers to system table, MM system table, boot services, and runtime services to any global variables where they are stored. The plugin also identifies references to the boot services and MM protocol functions and applies type information according to the GUID passed to these functions. The plugin supports the core UEFI specification, but does not support vendor protocols. +EFI Resolver is a Binary Ninja plugin that automates the task of resolving EFI protocol type information. It supports both DXE files and PEI files. It propagates parameter pointers from entry points to system table, MM system table, boot services, and runtime services to any global variables where they are stored. For PEI files, it also support identifying [processor-specific mechanisms](https://uefi.org/specs/PI/1.8/V1_PEI_Foundation.html#pei-services-table-retrieval) for retrieving PEI services pointers. The plugin also identifies references to the boot services, MM protocol functions and PEI services, and applies type information according to the GUID passed to these functions. The plugin supports the core UEFI specification, but does not support vendor protocols. ## Installation Instructions @@ -36,7 +36,7 @@ The following dependencies are required for this plugin: This plugin is released under a Apache-2.0 license. ## Metadata Version -2 +3 ## Supplying Custom UEFI Protocol GUIDs and Types diff --git a/plugin.json b/plugin.json index 6867e33..ad29774 100644 --- a/plugin.json +++ b/plugin.json @@ -1,5 +1,5 @@ { - "pluginmetadataversion": 2, + "pluginmetadataversion": 3, "name": "EFI Resolver", "type": [ "helper" @@ -8,10 +8,10 @@ "python3" ], "description": "A Binary Ninja plugin that automatically resolves type information for EFI protocol usage.", - "longdescription": "EFI Resolver is a Binary Ninja plugin that automates the task of resolving EFI protocol type information. It propagates pointers to system table, MM system table, boot services, and runtime services to any global variables where they are stored. The plugin also identifies references to the boot services and MM protocol functions and applies type information according to the GUID passed to these functions. The plugin supports the core UEFI specification, but does not support vendor protocols.", + "longdescription": "EFI Resolver is a Binary Ninja plugin that automates the task of resolving EFI protocol type information, which supports both DXE drivers and PEI modules. It propagates EFI related pointers from entry point to where they are stored, (e.g. system table, MM system table, boot services, and runtime services). For PEI files, it also support identifies processor-specific PEI service pointers. The plugin also identifies references to the boot services, PEI services and MM protocol functions and applies type information according to the GUID passed to these functions. The plugin supports the core UEFI specification by default, and allows users to provide custom GUIDs and protocols.", "license": { "name": "Apache-2.0", - "text": "Copyright 2023 Vector 35 Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." + "text": "Copyright 2023-2024 Vector 35 Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License." }, "platforms": [ "Darwin", @@ -24,7 +24,7 @@ "Windows": "no special instructions, package manager is recommended" }, "dependencies": {}, - "version": "1.1.0", + "version": "1.2.0", "author": "Vector 35 Inc", "minimumbinaryninjaversion": 4333 }