keystone-engine / keypatch

Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
http://www.keystone-engine.org/keypatch
GNU General Public License v2.0
1.48k stars 355 forks source link

Installation Issue: "ImportError: cannot import name arm_const" #40

Open cxm95 opened 6 years ago

cxm95 commented 6 years ago

"ImportError: cannot import name arm_const"

Hi,

I want to install keystone on my Mac 10.12.6, IDA Pro 7.0;

After following the instructions https://github.com/keystone-engine/keypatch/issues/28, I installed all required python and dylib. And keystone can be import from my own /usr/bin/python.

However, I got an ImportError: cannot import name arm_const when import keystone in the console of ida and don't know why.

I wasted several hours on searching the solution but nothing worked.

Any suggestions?

Thanks!

cxm95 commented 6 years ago

Details:

image

Python>import os
Python>os.sys.path
['/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/python/lib/python2.7/lib-dynload', '/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/python/lib/python2.7/lib-dynload/ida_64', '/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/python', **'/Users/cxm/Library/Python/2.7/lib/python/site-packages'(in which keystone lies in)**, '/Library/Python/2.7/site-packages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/python', '/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/plugins']
Python>import keystone
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/cxm/Library/Python/2.7/lib/python/site-packages/keystone/__init__.py", line 2, in <module>
    from . import arm_const, arm64_const, mips_const, sparc_const, hexagon_const, systemz_const, ppc_const, x86_const
ImportError: cannot import name arm_const
fjh658 commented 6 years ago

Your problem cannot be reproduced.

Quickly use, portability, you can

cp -r "~/Library/Python/2.7/lib/python/site-packages/keystone"  "/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/python/lib/python2.7/lib-dynload"

@cxm95

ftk-sostupid commented 6 years ago

I got same problem in Kali. I'm using keystone-engine for gef. 1l d6n6 sx4bxpgmyofi47f

It's very confusing.