IDA Migrator plugin makes the job of migrating symbols and type informations from one IDA database instance to another. It will help migrating function names, structures and enums.
This comes in handy when:
- Moving to a newer version of IDA that does better analysis and you don't want to change in the new instance type information or variable names of the decompiled functions.
- The current idb instance fails to decompile a function or the decompilation looks wrong in comparison to another idb instance of the same binary.
- Experimenting on another idb instance before making major changes on the current instance.
- A lightweight easy way of creating small backups of the current work.
- For w/e reason, the current idb instance you're working on gets corrupted.
IDA Migrator plugin developed using PyQt, hence should work on all platforms.
Download links can be found here.
Copy the files under the src
directory and put them under IDA installation plugins
directory.
Start your current IDA instance you want to migrate from and then press CTRL+SHIFT+D
to start the plugin. Alternative; open it through the Edit -> Plugins -> IDA Migrator
menu:
Click the Export
button to load current instance functions:
Hint: You can uncheck any functions you don't want to be exported.
Once you click the Start Export
button, it will ask you where would you like to export the files; One is the *symbols*.json
storing addresses and function names and the other is *types*.idc
having all the structures and enums information:
In the new idb instance, open the plugin again and click on the Import
button, which will then ask you to provide the *symbols*.json
file:
Same procedure from here, just that once you click the Start Import
button, it will ask you if you would like to import structures and enums as well from the exported *types*.idc
file, so it's up to you to decide.
Note that it will only rename functions that does not have the same name and will output what functions has been affected:
Pull-Requests are greatly appreciated should you like to contribute to the project.
Same goes for opening issues; if you have any suggestions, feedback or you found any bugs, please do not hesitate to open an issue.
- Gilad Reich - Initial work - giladreich
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details.