I read in the IDA Pro Book that
you may use
till.exeto parse header files and create standalone
.tilfiles which can be made globally available by copying them into
<IDADIR>/til. This is all well and good when you happen to have access to source code that you then allow IDA (or
till.exe) to parse.
Now I was wondering what would happen if the header file is from a library version older than the one used by the target binary (or vice versa). The closest I could find was this SO answer:
If the ABI in the exported functions don't change you should be able to get away with using an older DLL with a program linked against a newer .lib, as long as the program isn't using a new export that are in the new .lib but not in the older DLL.
Things which affect the ABI (I'm not claiming this is a comprehensive list):
- calling convention
- export name
- parameter list (including types)
Does anyone have experience with using
.til files although the version does not exactly match? In the best case, I guess, the
.til file should work fine. But what could happen in the worst case, i.e. if any of the above mentioned three things change?
Is there any chance I can detect when the application of a slightly wrong
.til file causes problems?