Closed MegaBor closed 4 years ago
Have you tried version for IDA 7.2 that is in release?
Have you tried version for IDA 7.2 that is in release?
Unfortunately I'm sticking to IDA 7.0 for the time being :( I'm sad that you decided to drop support for IDA 7.0, as I used to use this plugin for quiet a while now and now I can't get the latest changes. I hope you'll decide to keep backwards compatibility at some point. Wishing you a happy new year and thanks a lot for your work here! 🎉
7.2 has a completely similar story ( After renaming "configparser" I get the following:
C:\Program Files\IDA 7.2\plugins\HexRaysPyTools.py: invalid syntax (actions.py, line 68)
Traceback (most recent call last):
File "C:\Program Files\IDA 7.2\python\ida_idaapi.py", line 572, in IDAPython_ExecScript
execfile(script, g)
File "C:/Program Files/IDA 7.2/plugins/HexRaysPyTools.py", line 8, in <module>
from HexRaysPyTools.callbacks import hx_callback_manager, action_manager
File "C:/Program Files/IDA 7.2/plugins\HexRaysPyTools\callbacks\__init__.py", line 1, in <module>
from .actions import *
File "C:/Program Files/IDA 7.2/plugins\HexRaysPyTools\callbacks\actions.py", line 68
def check(self, hx_view: idaapi.vdui_t):
^
SyntaxError: invalid syntax
@Koluchy, you are using python3 version from master. Try ida_7_2
from release instead
@MegaBor, What about aforementioned plugin version tagged ida_7_2? As far as I remember there wasn't much changes in API between IDA 7.0 and IDA 7.2 and it should work. I've checked my PC and seems like IDA 7.0 nowhere to be found.
I downloaded plugin with the tag ide_7_2 - everything started without errors. I will check further. IMHO it is better to describe it in readme... Thanks for your work!
@igogo-x86, if I understand you correctly, you recommend to use an older version of this plugin? If that's the case, it's still doesn't solve the problem in case this plugin will have more changes and improvements, I'll not be able to get them.
@Koluchy, yeah, add warning info about in readme
@MegaBor, supporting several versions would be too bothersome. If you or someone else interested I can make branches for them. Anyway, I barely do reverse engineering since starting working as compiler engineer, so I wouldn't expect to many new changes or improvement in the near future
Thanks to @p-state I hope we now have backward compatibitility. Could you check?
It seems as the plugin gets loaded, however I get warning now every time I open IDA:
Thanks @p-state and @igogo-x86!
I fixed it by changing:
short_name = idc.demangle_name(name, idc.INF_SHORT_DEMNAMES)
To:
short_name = idc.demangle_name(name, idc.INF_SHORT_DN)
But I'm not sure if it breaks on newer versions based on here: https://www.hex-rays.com/products/ida/support/ida74_idapython_no_bc695_porting_guide.shtml
Another unresolved error when ALT + F8 to build a structure with vtable:
Syntax error near: }
Traceback (most recent call last):
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\forms.py", line 93, in <lambda>
btn_finalize.clicked.connect(lambda: self.structure_model.finalize())
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\core\temporary_structure.py", line 692, in finalize
if self.pack():
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\core\temporary_structure.py", line 560, in pack
structure_name = idaapi.idc_parse_decl(idaapi.cvar.idati, cdecl, idaapi.PT_TYP)[0]
TypeError: 'NoneType' object has no attribute '__getitem__'
@MegaBor this error comes when you set invalid name of structure (e.g. starts with a number).
Another error when I'm using the sizeof(type)
feature:
Traceback (most recent call last):
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\callbacks\structs_by_size.py", line 52, in activate
ordinal = _choose_structure_by_size(number_value)
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\callbacks\structs_by_size.py", line 9, in _choose_structure_by_size
result = type_library.choose_til()
File "C:/Program Files/IDA 7.0/plugins\HexRaysPyTools\core\type_library.py", line 52, in choose_til
[["Library", 10 | idaapi.CHCOL_PLAIN], ["Description", 30 | idaapi.CHCOL_PLAIN]],
AttributeError: 'module' object has no attribute 'CHCOL_PLAIN'
@p-state, thanks for the fixes! you rock!
@MegaBor could you check #52 please?
Still playing around with the plugin in IDA 7.0. So far no issues due to the backwards support. Will keep this post updated if I find any more issues.
Thanks for the awesome work!
As no more problems arised I close the issue
Any way to get the current state of the plugin to work on IDA 7.0? It fails to load on initialization:
I fixed that one using the ConfigParser module instead, but then other failures on actions.py
TIA!