Conversation
…ct handling - Introduced `add_vfunc_index_comments` function to append virtual function index comments. - Updated `pci_config` to include `rnvi` option for enabling virtual index comments. - Modified `pci_config_form` to reflect the new `rnvi` option in the UI. - Enhanced RTTI struct application logic to cache xref targets and avoid redundant calls.
pyclassinformer/method_classifier.py
Outdated
|
|
||
| for index, vfea in enumerate(vfunc_eas): | ||
| entry_ea = vftable_ea + (index * u.PTR_SIZE) | ||
| comment = format(index + 1) |
There was a problem hiding this comment.
Why the +1? I think it makes more sense to have 0-indexing, as it would be more helpful for comparing to instructions/C pseudocode that dereference vtables
There was a problem hiding this comment.
Why the +1? I think it makes more sense to have 0-indexing, as it would be more helpful for comparing to instructions/C pseudocode that dereference vtables
yes, that's a typo
|
I'm not sure it is useful and I don't like to add comments for the functions in vftables. I think you should use structures for managing vftables. Or you can keep your version by yourself. |
|
But thank you for the contribution. I appreciate it. |
This is very useful for me when comparing differences between versions of binaries or games that share engines. since it's an option it wouldn't hurt to add |
|
Looks useful to me for the same reason. If it doesn't get accepted, I wouldn't mind using a fork with it just for that alone. |
|
Honestly +1, if this adds them at the vtable level and not inside of actual function, which seems to be the case. The only problems I'd have is:
For very complex class inheritance and optimizations, structures might often be too complicated for doing something simple with the class... |
add support for virtual function index comments
cache xref targets per tid to avoid repeated calls