Hi all,
I've just discovered this site and am finding a wealth of information here, it's fantastic.
I am interested in the process of analysing data types to aid in reverse engineering a binary. I'm not sure if there are already tools that can do this, but basically these are my thoughts..
When we are given a binary we can identify calls to dynamic library functions, and using a tool like IDA we can scan for known library functions that have been statically linked in.
This means that at any point in the program where such a function is called, we know information about the type of arguments and return value, whether they are int, char, struct xxx, etc.. By then by tracking how these variables are assigned to registers and memory, we can deduce or guess the type of data being processed at other points in the program.
I imagine that a tool could be used (with human interaction) to determine type information for very many unknown functions and variables, though both static analysis and by stepping through the code with a debugger.
What kind of tools are available to assist in this kind of analysis? I have played around with IDAPro a little, but I'm not sure how far it goes in this area - it seems limited but maybe I have missed something. Are there any projects in progress relating to type analysis?
P.S. I'm new to reverse engineering, so bear with me if this is a beginner question






