fidgetingbits/IDArling

Renaming a binary file and opening right after makes IDArling syncing fails

saidelike opened this issue · 2 comments

It seems if we open a fresh IDA, then go into "Open from server" then rename some binary file, then open a database in this binary file we have renamed, then when the snapshot is opened:

[idarling][TRACE] Ready to run hook
[idarling][DEBUG] Loaded netnode: project=<project>, binary=<old_name>, snapshot=002-new, tick=0
[idarling][DEBUG] Joining session
[idarling][DEBUG] Sending packet: ListDatabases.Query(project=<project>, binary=<old_name>)
Database snapshot restored successfully: 
[idarling][DEBUG] Received packet: ListDatabases.Reply(snapshots=[])
[idarling][DEBUG] Database is not on the server

As you can see above, the old binary name is queried whereas it should be the new name so it seems a bad name is cached and not updated on the IDArling plugin.

It is because the idarling plugin saves the project name in the idb itself, and renaming the project does not update the idb. So we have an architecture problem here.

We can't properly rename a project atm...

The proper method may be to delete all databases (i.e. snapshots) from the project and have a new empty project and ask the user to save the new database. So basically only supporting a "delete" instead of the renaming...