Let's assume we have a function which has a following variables in it:
- Local variables on stack of different types, including types defined in local types window
- Local variables of different types mapped to registers
- Function parameters of different types
I have 2 IDBs with the same function based on the same binary and I want to pass this data from one IDB to another. Let's also assume that I have a solution of passing related data types between databases.
I know that I can iterate the local variables in decompiled function by using user_lvar_visitor_t class. I also know that there is a function save_user_lvar_settings these variables by using of the same iterator class user_lvar_visitor_t.
I have the following questions regarding this:
- Which data should I gather from the first database to create these variables in second database correctly (with IDAPython, IDA version is 6.8)?
- How can I create these variables in the second database to make use of save_user_lvar_settings or restore_user_lvar settings (with IDAPython, IDA version is 6.8)?
Update: Before asking this question I reviewed the following IDA collaboration solutions:
- Collabreate
- ida2sql
- IDA toolbag
- IDAsynergy
- IDAsync
One more update
- Diaphora
And was not able to find solution for my problem in any them.