I have spent the week learning how to use Ghidrea, contemplating on how to find the right information, in order, to make sense out of what is shown as disassembled / decompiled functions and variables.
WIth AI help, I am able to come up with an idea:
1) Find the class name that is called by associated functions
2) Find the function with associate strings for possible keywords
As first step of building the modder resource library.
In the link below, you will see vast number of folder with three types of .txt files:
_CLASS_FUNCTION_LIST.txt
_STRING_LIST - 1.txt
_STRING_LIST - 2.txt
And inside each folders, for example: FLIGHT -> AVIONICS 60, you will see the files:
AVIONICS60_CLASS_FUNCTION_LIST.txt
AVIONICS60_STRING_LIST - 1.txt
AVIONICS60_STRING_LIST - 2.txt
These files give modders a big head start by helping pinpoint the location of relevant functions, and that's the step one.
For next steps, it is up to anyone here. I am here to provide what I can product from the ghidra tools. I will continue to update the resource library as I grow the understanding of Ghidra tools and codes shown in it.
MODDER RESOURCE LIBRARY v1.1
SF2 -Resource Library v1.1.zip
NOTE about v1.1: I have added two folders, you will see in each folders:
REFERENCES
RTTI
References are the one that I used pyton script to extract the name of class called by functions, as well the strings from the functions. RTTI, in other hand, contains the list of class and the assoicated functions, along with the function names restored. However, please note that, there are two or three of DLL that does not have RTTI, I still ran the script to create the list of class with assoicated functions.
Hoowever, I am working an interesting next projects: I just recently realized, after seeing how Ghidra symbolized the native C++ into C Pseudocodes and is working on Name Demangling (Converting C++ mangled symbols back to readable C++ codes). Here is an example:
?MyFunc@@YAHH@Z -> int MyFunc(int))
For now, here is notes that AI generated with me while studying various codes:
(NOTE: the note below is incomplete. Will be updated eventualy.)
CODES NAME DEMANGLING NOTES.txt
Cheers!