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
Is your feature request related to a problem? Please describe.
When working with data types in the DTM, Ghidra supports the ability to apply function data types to a currently open program from a custom GDT.
As I understand it, it will apply all matching function signatures and related function signature types to the current program. It does not however sync data types not related to function signatures found within the custom GDT.
Problem: I don't have the ability in Ghidra (or I don't know how) to run the same command applied to all data types in a custom GDT. In the scenario where my custom GDT has a data type that is complete, and the program archive data type exists, but has no structure/info, I have to copy paste that data type manually.
No info in program archive:
Data type defined in custom GDT:
Need to manually copy data type into program archive or replace data type to update.
that would allow to also copy data types (enums, structs, etc).
I would like the cmd to allow you to select the merge conflict resolution as well. The ideal default for this cmd would be "Replace else Rename"
It would also need the option to replace by name (not necessarily by Category) to avoid this situation.
Describe alternatives you've considered
Doing this with a script? Iterate each data type in custom GDT and replace in program archive by name.
Additional context
Perhaps there is already a way to do this? But I can't see it besides scripting. I see the ability to sync data types from another archive:
But the ability to select a custom archive only exists after the program archive has already copied a data type sourced from the another GDT.
And the sync doesn't solve the issue of data types with the same name in a different category.
I can see the issue is complex, but I feel like this could really help with quick analysis when you want to improve data types without knowing or having all the function signatures well defined.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
When working with data types in the DTM, Ghidra supports the ability to apply function data types to a currently open program from a custom GDT.
As I understand it, it will apply all matching function signatures and related function signature types to the current program. It does not however sync data types not related to function signatures found within the custom GDT.
ghidra/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java
Line 38 in 97aadfa
Problem: I don't have the ability in Ghidra (or I don't know how) to run the same command applied to all data types in a custom GDT. In the scenario where my custom GDT has a data type that is complete, and the program archive data type exists, but has no structure/info, I have to copy paste that data type manually.
No info in program archive:
Data type defined in custom GDT:
Need to manually copy data type into program archive or replace data type to update.
ghidra/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/ReplaceDataTypeAction.java
Line 143 in 97aadfa
ghidra/Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/util/DataTypeTreeCopyMoveTask.java
Line 348 in 97aadfa
Describe the solution you'd like
I would like to be able to add a cmd similar to
ghidra/Ghidra/Features/Base/src/main/java/ghidra/app/cmd/function/ApplyFunctionDataTypesCmd.java
Line 38 in 97aadfa
I would like the cmd to allow you to select the merge conflict resolution as well.
The ideal default for this cmd would be "Replace else Rename"
It would also need the option to replace by name (not necessarily by Category) to avoid this situation.
Describe alternatives you've considered
Doing this with a script? Iterate each data type in custom GDT and replace in program archive by name.
Additional context
Perhaps there is already a way to do this? But I can't see it besides scripting. I see the ability to sync data types from another archive:
But the ability to select a custom archive only exists after the program archive has already copied a data type sourced from the another GDT.
And the sync doesn't solve the issue of data types with the same name in a different category.
I can see the issue is complex, but I feel like this could really help with quick analysis when you want to improve data types without knowing or having all the function signatures well defined.
The text was updated successfully, but these errors were encountered: