0x00 背景
突然有一天IDA6.8 打開提示idapython錯(cuò)誤:
報(bào)錯(cuò)信息如下:
0x01 問題原因
ida官網(wǎng)有對(duì)該問題的解釋:
This issue is usually caused by presence of non-standard python27.dll
in the PATH which uses its own set of modules (you should edit PATH in
this case). However, it may happen if your Python installation is
broken in some way. Reinstalling Python manually may fix it.
大致原因是:你主機(jī)的環(huán)境變量path包含了非標(biāo)準(zhǔn)的python27.dll導(dǎo)致的淑趾,當(dāng)然睹酌,也可能是某次安裝時(shí)意外終端導(dǎo)致的。手動(dòng)重新安裝python可能會(huì)修復(fù)這個(gè)問題恍涂。
0x02 問題修復(fù)
官方也好心的給出了詳細(xì)的修復(fù)方法:
查看python27.dll的位置
? ? c:\>where python27.dll
? ? C:\Windows\System32\python27.dll
1
2
查看注冊(cè)表中 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath 的值是python2.7的安裝路徑
增加一個(gè)環(huán)境變量,key為PYTHONHOME,value為python的安裝路徑。
如果idapython被正常加載搂擦,但還是存在這個(gè)錯(cuò)誤,請(qǐng)打印下sys.path哗脖,確定是否符合預(yù)期
Python>import sys
Python>sys.path
['C:\\Windows\\system32\\python27.zip', 'C:\\Python27-x64\\Lib', 'C:\\Python27-x64\\DLLs', 'C:\\Python27-x64\\Lib\\lib-tk', 'C:\\Program Files\\IDA 7.0\\python', 'C:\\Python27-x64', 'C:\\Python27-x64\\lib\\site-packages', 'C:\\Program Files\\IDA 7.0\\python\\lib\\python2.7\\lib-dynload\\ida_32', 'C:\\Program Files\\IDA 7.0\\python']
1
2
3
跟蹤IDAPython模塊的加載過程瀑踢。在IDA運(yùn)行前設(shè)置環(huán)境變量 PYTHONVERBOSE=1,path路徑將被打印出來(或者在IDA運(yùn)行命令中加入-L 生成日志文件)才避。
0x03 問題解決
使用第三個(gè)步驟橱夭,創(chuàng)建一個(gè)環(huán)境變量 PYTHONHOME 即可解決我目前的問題。
比較坑的是某些博客桑逝,寫到創(chuàng)建環(huán)境變量%PYTHONHOME%棘劣,這是什么鬼?
在環(huán)境變量中楞遏,%path%中百分號(hào)的意思茬暇,就是表示path是一個(gè)已定義的一個(gè)環(huán)境變量的調(diào)用,相當(dāng)于linux中的$path寡喝。第一次定義變量是糙俗,不會(huì)使用%%。
0x04 參考文獻(xiàn)
https://www.hexblog.com/?p=1132
————————————————
版權(quán)聲明:本文為CSDN博主「counsellor」的原創(chuàng)文章预鬓,遵循CC 4.0 BY-SA版權(quán)協(xié)議巧骚,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/counsellor/java/article/details/98968082