lunixbochs / revsync

realtime cross-tool collaborative reverse engineering
MIT License
100 stars 25 forks source link

Vivisect support for RevSync #6

Open atlas0fd00m opened 3 years ago

atlas0fd00m commented 3 years ago

Early revision, but functional.

GUI Config (if config doesn't exist), Comments and Symbol sharing work well.

lunixbochs commented 3 years ago

Generally looks pretty good. Note that I'm not familiar with visisect so I can't review that integration code very deeply.

Have you tested change round trips much? Like, if you submit a change to the server, get a notification for the change, and apply the change to your local client - it's ok if it generates a new event, but the contents should be the same as the previous event so client.py can reject it. Otherwise you might flood the redis server with changes and lag out all the clients.

atlas0fd00m commented 3 years ago

thanks. yes, i've used this in real-time reversing collab with binja and ghidra.

have you considered circleci and unittests? i understand that binja and ida don't lend themselves to automated unittest checks, but unittests (like in tests/) would allow for simple tests like that before commits (manually, probably)

lunixbochs commented 3 years ago

revsync itself handles round trips fine, the problem is more whether your app has any weird behaviors with round trips, so we'd basically need to unit test with your whole app in the loop

atlas0fd00m commented 3 years ago

sure. done. please feel free to re-review.

lunixbochs commented 3 years ago

Ok, I just did a manual squash and merge to master. Mind double checking that it works for you still?