techbliss / Python_editor

Better CodeEditor for Ida Pro.
The Unlicense
225 stars 120 forks source link

Please support IDA Pro 7.0 #3

Closed bruce30262 closed 6 years ago

bruce30262 commented 6 years ago

As title, the IDAPython API has changed a lot in the latest release of IDA Pro.

For example, both idaapi.add_menu_item & idaapi.set_menu_item_icon are removed, which causes error and fail to load the python editor.

It would be nice if we could still use this awesome editor in the latest IDA :)

techbliss commented 6 years ago

I will support ida pro 7.0 in near future(week), i just have to do some small test.

techbliss commented 6 years ago

Was hell to figure out the new plugin loader, but i figured it out in the end. New version pushed repo.

bruce30262 commented 6 years ago

Unfortunately the new version doesn't work on my machine :( Here's the info of my environment:

Here's my setup step:

Also, now the X64dbg_script_editor ( in the x64dbg ) are showing the following error message, too:

C:\Users\Bruce Chen\Desktop\x64dbg\release\x64
[PYTHON] Exception...
Traceback (most recent call last):
  File "plugins\X64DBG~1\EDITOR~1.PY", line 48, in <module>
    from PyQt5 import QtCore, QtGui, Qsci, QtWidgets
ImportError: 'DLL load failed: \xa7\xe4\xa4\xa3\xa8\xec\xab\xfc\xa9w\xaa\xba\xb5{\xa7\xc7\xa1C'

The one in the x32dbg works fine though, looks like something went wrong after I installed the PyQt5 package.


Here's something strange:

NAME PyQt5

FILE c:\python27\lib\site-packages\pyqt5__init__.py

DESCRIPTION ..................



Any idea how can I fix this ? Am I missing something :confused:  ?
techbliss commented 6 years ago

it looks like it find another PYTHONHOME in PATH env var and seems it finds the x86 libs instead of x64 ones. so scheck env var first since "The one in the x32dbg works fine though, looks like something went wrong after I installed the PyQt5 package." indicates you have a x86 python and pyqt5 version somewhere.

Also remember that ida pro PyQt5 is spesial cause it is build with QT namespace vs2015 , and PyQt5 for x64dbg is without namespace and vs 2013 runtime. so you have to have different PyQt5 packages for each ones. since autocompletion of code is lowlevel and will make either ida pro or x64dbg crash if you use wrong version for each ones. Also check the video tutorial at the x64dbgpy to install python for x64dbg. x64dbgpy also did you check when open python from cmd if it is x86 or x64 if ll hope is lost i can help you via remote assistent. just PM me on twitter @zadow28

techbliss commented 6 years ago

okay you have to take Qt5Core.dll , Qt5Gui.dll, Qt5widgets.dll from https://www.techbliss.org/threads/ida-pro-7-0-pyqt5-total-package-by-storm-shadow.950/ and overwrite the ones in ida pro 7.0 folder

bruce30262 commented 6 years ago

After overwriting those Qt*.dll and copy qwindows.dll to platforms\ in ida pro folder, it works perfectly fine :)

However, I'll like to make some suggestions:

  1. The setup step is kind of complicated is this version. First we'll have to installed the PyQt5 package, which we'll have to overwrite the original Python27 directory. Also we'll have to copy the dlls to the ida pro folder. I don't remember I have to do these things in the 6.8 version. It would be nice if we can simplify the setup step.

  2. Also the PyQt5 package is over 700 MB, which I think it's a bit too large for an package. I hope there will be a smaller PyQt5 package in the future ( like the old pyqt installer )

  3. It would be nice if x64dbg_script_editor and ida pro python editor are compatible.

Anyway since now the editor is supported in IDA 7.0, I'll close the issue now. Really appreciate the work and your help, keep up the good work ! :)