mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-21 19:42:14 +00:00
GP-1202: Deleting old file (Closes #2540)
This commit is contained in:
parent
bd4a5eeb97
commit
0a4ffc7237
@ -1,40 +0,0 @@
|
||||
Design Steps:
|
||||
Format Opinion(s) for use in XFormatService, where X is the new Format:
|
||||
|
||||
1. Either locate formats.opinion file or create a new *.opinion file and place under the Ghidra/core/languages folder.
|
||||
a. In this XML based file, the following structure is required (attributes in italics are optional):
|
||||
|
||||
<format_opinions>
|
||||
<format name=”X”>
|
||||
<opinion magic=”(magic_string_for_binary)”
|
||||
processor=”(processor_for_X)”
|
||||
endian=”(endian_of_processor)”
|
||||
size=”(size_of_processor)”
|
||||
variant=”(variant_of_processor)” />
|
||||
</format>
|
||||
...
|
||||
</format_opinions>
|
||||
|
||||
b. Add information about X into this file.
|
||||
|
||||
2. Create a new class XFormatService implementing FormatService
|
||||
a. Methods to implement:
|
||||
i. getName:
|
||||
1. Written to return the X name/id of the format service. (Currently id & name are equal).
|
||||
ii. getDescription:
|
||||
1. Written to return a verbose description of format service X.
|
||||
iii. getRegisteredFormats:
|
||||
1. Written to return the list of Formats registered for the X name/id stored in the formatInstances map.
|
||||
iv. registerFormat:
|
||||
1. Written to gather information from the ByteProvider (binary) and generate the X Format
|
||||
2. Register the Format in the formatInstances map (which takes a X name/id key and a list of Formats)
|
||||
3. Make sure the magic string matches the magic string found in the *.opinion’s file.
|
||||
4. Return whether or not the registration has been successful.
|
||||
v. getFormatOpinions:
|
||||
1. Written to be called by AutoImporter in order to gather the XFormatService’s Format Opinions.
|
||||
2. Essentially follow the formula in other *FormatServices, where:
|
||||
a. Register the Format via the ByteProvider (binary), (if not already done).
|
||||
b. Run through the list of Formats from the formatInstances map and gather FormatOpinions either via the QueryFormatOpinionServiceManager.getXMLFormatOpinionList(Format X) method (which queries the *.opinion file), or FormatOpinions existing programmatically.
|
||||
c. Optionally (although, strongly recommended), add a warning message for a valid Format X from the ByteProvider with no existing “magic string” and Format Opinion.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user