注:此插件原版很久没更新,熊猫修改版:

https://github.com/P4nda0s/LazyIDA

原版LazyIDA github地址:

https://github.com/L4ys/LazyIDA

之前在7.0Mac版上使用LazyIDA插件正常,然后今天在Windows下用IDA时发现LazyIDA插件加载错误,显示第8行错误:cannot import name ‘qapplication’ from ‘pyqt5.qt。搜索一番修改无果。

于是打开LazyIDA,发现QApplication导入只在前两个函数:复制和粘贴处被使用。

1
2
3
4
5
6
7
8
from PyQt5.Qt import QApplication  # 导入错误


def copy_to_clip(data):
QApplication.clipboard().setText(data)

def clip_text():
return QApplication.clipboard().text()

IDAPro Windows7.6版本下的PyQt5库路径:

1
IDAPro7.6\python\3\PyQt5\

Mac上我是用的是python2,IDA会使用python\2\路径下的模块,而Windows下用的python3。猜测3的PyQt5库和2有差异,所以导致导入失败。也有可能是IDA版本问题,懒得深究了。

因为这个库只被用来设置和读取剪切版了,于是我下载了pyperclip这个库,将它的__init__.py复制到PyQt5路径下,将上面程序修改为:

1
2
3
4
5
6
7
8
9
10
from PyQt5.pyperclip import *


def copy_to_clip(data):
# QApplication.clipboard().setText(data)
copy(data)

def clip_text():
# return QApplication.clipboard().text()
return paste()

然后就能用了:

==========================================

兄弟们,破案了,绿色泄漏版需要转换到dll,参考

http://scz.617.cn:8/python/202011182246.txt

1
$ idapyswitch.exe --force-path .\python310.dll

白忙活了

2022-01-22
Contents

⬆︎TOP