DGA-MI-SSI / YaCo

YaCo is an Hex-Rays IDA plugin. When enabled, multiple users can work simultaneously on the same binary. Any modification done by any user is synchronized through git version control.
GNU General Public License v3.0
313 stars 36 forks source link

Are local types supported? #49

Closed kalaider closed 5 years ago

kalaider commented 6 years ago

It seems YaCo does not preserve any changes made in the Local Types view.

Steps to reproduce.

  1. Create new local type (e.g. struct my_struct { int a; };) and sync it with the Structures view.
  2. Use the new type somewhere (e.g. make some dword_abcdef of type my_struct*).
  3. Save.
  4. Force discard IDB and pull.
  5. Type information is lost (and we have import: error set_type: 0x89abcdef unknown type my_struct * in the output window).

Local Types are very useful and it would be nice to fix (if a bug) or implement this (if a missing feature).

IDA 7.0 Windows version YaCo 2.2

bamiaux commented 6 years ago

Thanks for creating an issue, it’s a missing feature. It’s on my radar and I’ll get to it eventually. It’s not easy though because of potential conflicts when two users add local types and use the same ordinals

bamiaux commented 6 years ago

@kalaider Fixed in https://github.com/DGA-MI-SSI/YaCo/commit/ef67a74c9fa9666da32ac6ed630fb824a9a8d370 Local types are now synchronized, it'll be in the next release if you cannot compile yaco

bamiaux commented 5 years ago

Should be fixed in https://github.com/DGA-MI-SSI/YaCo/releases/tag/v2.4