joxeankoret / diaphora

Diaphora, the most advanced Free and Open Source program diffing tool.
http://diaphora.re
GNU Affero General Public License v3.0
3.64k stars 372 forks source link

support for IDA7.4 SP1 #181

Closed houjingyi233 closed 4 years ago

houjingyi233 commented 4 years ago

seems cannot use on IDA7.4 SP1, will you support IDA7.4 SP1?

joxeankoret commented 4 years ago

What? It totally works on it because I use it in IDA 7.4 SP1. Can you tell me which problem are you experiencing?

houjingyi233 commented 4 years ago

D:\IDA Pro 7.4_SP1\plugins\diaphora-2.0.2\diaphora.py: the sip module has already registered a module called PyQt5.QtCore Traceback (most recent call last): File "D:\IDA Pro 7.4_SP1\python\3\ida_idaapi.py", line 593, in IDAPython_ExecScript exec(code, g) File "D:/IDA Pro 7.4_SP1/plugins/diaphora-2.0.2/diaphora.py", line 2010, in exec(compile(open(script, "rb").read(), script, 'exec')) File "D:/IDA Pro 7.4_SP1/plugins/diaphora-2.0.2\diaphora_ida.py", line 46, in from PyQt5 import QtCore, QtGui, QtWidgets RuntimeError: the sip module has already registered a module called PyQt5.QtCore

environment:python3.8.1 64bit, windows 10, IDA Pro7.4 SP1, Diaphora 2.0.2

joxeankoret commented 4 years ago

I'm really surprised that IDA with Python 3.8 even worked. Please use Python 3.7 as none of the messages you put make any sense at all.

joxeankoret commented 4 years ago

If you want/need some more details, read this: http://www.hexblog.com/?p=1402

  1. When trying to use PyQt, IDA crashes. Unfortunately, in 3.8 the layout of some internal Python structures have changed and SIP (the API bindings library used by PyQt) tries to access wrong data. Notably, this issue also affects Linux and Mac versions of IDAPython. If you are affected by this, please contact support for an updated build of sip module.
houjingyi233 commented 4 years ago

Sorry, I will try python3.7