You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are a number of different adhoc data storage mechanisms associated with a Program which are completely independent from Tool Options. These are:
Program Property Maps (see Program.getUsrPropertyManager() which returns PropertyMapManager)
Named maps are established which facilitate address-to-value data storage. A named map is created for a specific type of data:
Integer (32-bit java int)
Long (64-bit java long)
String
Void (boolean: set or not-set)
Object (Saveable implementation)
This type of map allows the above types of data to be associated with a specific memory address. Such properties should only be defined at addresses which are contained within a defined memory block. Multi-user conflicts on property map changes should be avoided since both conflict detection and resolution capabilities are very limited.
Property Maps are somewhat hidden. The experimental Property Manager Plugin can be added to a tool configuration to allow existing property maps to be explored. With this plugin installed, the list of property maps can be viewed using the menu item Windows->Manage Properties.
Program Property Lists / Options (e.g., program.getOptions(Program.PROGRAM_INFO) which returns Options)
Provides hierarchical property list storage. "Program Information" is the name of a specific property list used store important information about a program, much of which is populated during import. Within each list name/value pairs may be defined using the Options interface. Another named list is "Analyzers" where both analyzer enablement and related options are stored.
All named property lists are visible from the Property Editor panel accessed via the menu item Edit->Options for ...
Multi-user conflicts on property list changes should be avoided since no conflict detection is provide. During a check-in conflict the first one checked-in prevails.
Program User Data (see Program.getProgramUserData() which returns ProgramUserData)
Provide an out-of-band storage for user-specific data related to a specific program within a project. The only current use of this within Ghidra is for Function Graph vertex attributes reflecting user manipulations which reflect their personal display preferences.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
There are a number of different adhoc data storage mechanisms associated with a Program which are completely independent from Tool Options. These are:
Program Property Maps (see
Program.getUsrPropertyManager()
which returnsPropertyMapManager
)Named maps are established which facilitate address-to-value data storage. A named map is created for a specific type of data:
This type of map allows the above types of data to be associated with a specific memory address. Such properties should only be defined at addresses which are contained within a defined memory block. Multi-user conflicts on property map changes should be avoided since both conflict detection and resolution capabilities are very limited.
Property Maps are somewhat hidden. The experimental
Property Manager Plugin
can be added to a tool configuration to allow existing property maps to be explored. With this plugin installed, the list of property maps can be viewed using the menu itemWindows->Manage Properties
.Program Property Lists / Options (e.g.,
program.getOptions(Program.PROGRAM_INFO)
which returnsOptions
)Provides hierarchical property list storage. "Program Information" is the name of a specific property list used store important information about a program, much of which is populated during import. Within each list name/value pairs may be defined using the
Options
interface. Another named list is "Analyzers" where both analyzer enablement and related options are stored.All named property lists are visible from the Property Editor panel accessed via the menu item
Edit->Options for ...
Multi-user conflicts on property list changes should be avoided since no conflict detection is provide. During a check-in conflict the first one checked-in prevails.
Program User Data (see
Program.getProgramUserData()
which returnsProgramUserData
)Provide an out-of-band storage for user-specific data related to a specific program within a project. The only current use of this within Ghidra is for Function Graph vertex attributes reflecting user manipulations which reflect their personal display preferences.
Beta Was this translation helpful? Give feedback.
All reactions