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
With the types injected by #15 Ghidra's regular type analysis will then run and should propagate these types forward to msgSend callsites.
This means we can write another analysis that uses the decompiler, to now check for the type of the first argument to a msgSend call which will not always be just ID anymore. It can then look up the class_t struct for that type and search for the function implementing the selector (from the second argument).
Ghidra can then be told to rewrite this msgSend call to a call to the actual implementing function:
With the types injected by #15 Ghidra's regular type analysis will then run and should propagate these types forward to msgSend callsites.
This means we can write another analysis that uses the decompiler, to now check for the type of the first argument to a
msgSend
call which will not always be justID
anymore. It can then look up theclass_t
struct for that type and search for the function implementing the selector (from the second argument).Ghidra can then be told to rewrite this msgSend call to a call to the actual implementing function:
Should run as
AnalysisPriority.DATA_TYPE_PROPOGATION.after()
, unclear as whichAnalysisType.FUNCTION_*
exactlyThe text was updated successfully, but these errors were encountered: