首页
社区
课程
招聘
[原创]不同版本 Python 对 已装 IDAPython 的干扰冲突消除
发表于: 2018-11-29 17:01 2963

[原创]不同版本 Python 对 已装 IDAPython 的干扰冲突消除

2018-11-29 17:01
2963

由于新装软件( 如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







[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 1535
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
发错版块了?
2018-11-29 17:27
0
雪    币: 8102
活跃值: (1945)
能力值: ( LV8,RANK:122 )
在线值:
发帖
回帖
粉丝
3
IDA 有绿色版的Python
2018-11-29 20:55
0
游客
登录 | 注册 方可回帖
返回
//