-
-
[原创]不同版本 Python 对 已装 IDAPython 的干扰冲突消除
-
发表于:
2018-11-29 17:01
2868
-
[原创]不同版本 Python 对 已装 IDAPython 的干扰冲突消除
由于新装软件(
如Visual Studio 等),很可能会添加或重设python的一些注册表项,
而一旦碰到以注册表配置信息优先的情形,很可能就产生置换或替代产生配置冲突。
这里解决IDAPython的python 2.7版本的配置冲突。
#IDAPython 都无法启动的,先考虑path中是否添加了python路径
排查关键是查阅sys.path,看是否有冲突配置的python版本路径出现
import sys
sys.path
一直都是以bat文件启动
IDA7.0 for 32
set path=D:\ProgramData\graphviz_my\bin;%path%
set path=D:\ProgramData\Anaconda2;D:\ProgramData\Anaconda2\Scripts;D:\ProgramData\Anaconda2\Library\bin;D:\ProgramData\Anaconda2\Lib;D:\ProgramData\Anaconda2\DLLs;D:\Program Files\IDA 7.0\python;%path%
set PYTHONPATH=D:\ProgramData\Anaconda2\Lib;D:\ProgramData\Anaconda2\DLLs;D:\ProgramData\Anaconda2\Lib\lib-tk;
start ida.exe
IDA7.0 for 64
set path=D:\ProgramData\graphviz_my\bin;%path%
set path=D:\ProgramData\Anaconda2;D:\ProgramData\Anaconda2\Scripts;D:\ProgramData\Anaconda2\Library\bin;D:\ProgramData\Anaconda2\Lib;D:\ProgramData\Anaconda2\DLLs;D:\Program Files\IDA 7.0\python;%path%
set PYTHONPATH=D:\ProgramData\Anaconda2\Lib;D:\ProgramData\Anaconda2\DLLs;D:\ProgramData\Anaconda2\Lib\lib-tk;
start ida64.exe
今天IDAPython里import pefile时突然找不到了,而cmd里的python一切正常。
回过头才突然发现IDA启动也变快了,而输出一堆无法加载相应python模块错误。如
from ipykernel.kernelapp import IPKernelApp
from awesome.context import ignored
折腾了一阵,最终查看了sys.path,多出了一个奇怪的python版本路径(一直配置的是D:\ProgramData\Anaconda2)
C:\Python27amd64 (可能是安装其它软件时自动安装的,版本比已装的Anaconda2高一点,虽然都是2.7)
考虑到我时用bat启动,使用的都是环境变量配置。出现这个原因只能是注册表配置冲突了。
最后发现了以下关于上述新版的配置
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help\Main Python Documentation]
@="C:\\Python27amd64\\Doc\\python2714.chm"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath]
@="C:\\Python27amd64\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Modules]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\PythonPath]
@="C:\\Python27amd64\\Lib;C:\\Python27amd64\\DLLs;C:\\Python27amd64\\Lib\\lib-tk"
于是乎导出备份,相应修正为Anaconda2版本
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help\Main Python Documentation]
@="D:\\ProgramData\\Anaconda2\\Doc\\python2713.chm"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath]
@="D:\\ProgramData\\Anaconda2\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Modules]
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\PythonPath]
@="D:\\ProgramData\\Anaconda2\\Lib;D:\\ProgramData\\Anaconda2\\DLLs;D:\\ProgramData\\Anaconda2\\Lib\\lib-tk"
至此恢复了可以加载各种配置模块的慢吞吞的启动模式。
2018/11/29 by tritium
[课程]Android-CTF解题方法汇总!