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
As some of you will note, I've been a little obsessed with Ghidra's inability to handle near/far pointers with the integrity I believe it capable of. However, I've found a working solution by means of converting all far pointers (represented by a sized pointer, eg <type> *<n>) into a union of the form:
This, together with some hiding of unnecessary ClangNode objects has produced readable (and consistant - so far) ouput.
I do have some queries though that I was hoping for input on:
how can I integrate this into Ghidra such that renaming of the base type would automatically rename the union and struct sub-component?
get Ghidra to re-align the syntax it produces (as marking ClangNodes and hiding them leaves shortened or empty code lines)?
get Ghidra to understand this is a pointer substitute and when a 0 is assigned or passed as a parameter, NULL should replace the typecast 0x0?
similarly to 3, when the version for char * is used, a typecast to (LPSTR) is added for strings that have been set as constants in the data area(s), this shouldn't happen!
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
-
As some of you will note, I've been a little obsessed with Ghidra's inability to handle
near
/far
pointers with the integrity I believe it capable of. However, I've found a working solution by means of converting allfar
pointers (represented by a sized pointer, eg<type> *<n>
) into aunion
of the form:This, together with some hiding of unnecessary
ClangNode
objects has produced readable (and consistant - so far) ouput.I do have some queries though that I was hoping for input on:
union
andstruct
sub-component?ClangNode
s and hiding them leaves shortened or empty code lines)?0
is assigned or passed as a parameter,NULL
should replace the typecast 0x0?char *
is used, a typecast to(LPSTR)
is added for strings that have been set as constants in the data area(s), this shouldn't happen!Beta Was this translation helpful? Give feedback.
All reactions