首页
社区
课程
招聘
[原创] IDA9.X 启动基础配置及差异化IDA版本需求不同版本py模块配置
发表于: 2025-3-25 15:06 5790

[原创] IDA9.X 启动基础配置及差异化IDA版本需求不同版本py模块配置

HHHso 活跃值
26
2025-3-25 15:06
5790

摘要:文本以解决IDA9.x的启动为问题导向。相应IDA9.x版本请购买官方正版或渠道测试版。
主要探索驻留不同版本IDA,尤其是同一py安装实例,不同版本IDA需要不同版本模块问题。

此贴本想追加在此贴【IDA7.5 启动基础配置】之后,但论坛超过两年的贴无法编辑,开新帖。

2025/12/13 更新解决:解决新旧版本IDA(如IDA7.6和IDA9.2),不同python版本配置冲突问题。

类似以前的启动配置,这里通过不同的批文件启动不同版本IDA。

此问题一般发生在不同Python版本需求的情形,比如IDA7.6用的是原Python3.8,而IDA9.2部分要求Python3.9以上(这里使用Python3.10),由于两者都是使用idapyswitch.exe进行pythonXXX动态库的路径指定,这就导致新旧Python版本冲突。当然,如果不保留旧版IDA版本,可以忽略,或将旧版python环境升级。这里保持旧版IDA7.6使用旧版Python3.8原有配置不变,新版IDA9.2使用Python3.10的情形。

经过分析idapyswitch.exe的行为,我们知道其实际修改的是注册表【HKCU\Software\Hex-Rays\IDA】的Python3TargetDLL配置值
可通过下述命令行查询(或regedit查阅)

于是针对性的修改,只需要在我们761.bat和92.bat启动批处理中,添加相应的修改命令即可

IDA7.61的启动文件761.bat开头添加使用原Python3.8版本

IDA9.2的启动文件92.bat开头添加使用Python3.10版本

IDA7.61的启动文件761.bat开头添加使用原Python3.8版本

IDA9.2的启动文件92.bat开头添加使用Python3.10版本

这里是之前给其他版本IDA安装的64位python,版本是Anaconda的python3.864位版本,如果是其他64位版本python,将【PYTHONHOME=D:\Anaconda3_64】该为python的实际安装目录即可,若非Anaconda,最后的【@call activate.bat %PYTHONHOME%"】则不需要。通过cmd命令行执行下述python环境配置。
这里是之前给其他版本IDA安装的64位python,版本是Anaconda的python3.864位版本,如果是其他64位版本python,将【PYTHONHOME=D:\Anaconda3_64】该为python的实际安装目录即可,若非Anaconda,最后的【@call activate.bat %PYTHONHOME%"】则不需要。通过cmd命令行执行下述python环境配置。
@set PYTHONHOME=D:\Anaconda3_64
@set PYTHONPATH=D:\IDADIR\IDA761\idapydir;%VENVIDA%;%PYTHONHOME%\DLLs;%PYTHONHOME%\lib;%PYTHONHOME%;%PYTHONHOME%\lib\site-packages;%PYTHONHOME%\lib\site-packages\win32;%PYTHONHOME%\lib\site-packages\win32\lib;%PYTHONHOME%\lib\site-packages\Pythonwin
@set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONHOME%\Library\bin;%PYTHONHOME%\condabin;%PATH%
@set PATH=d:\IDADIR\Graphviz\bin;%PATH%
@call activate.bat %PYTHONHOME%"
@set PYTHONHOME=D:\Anaconda3_64
@set PYTHONPATH=D:\IDADIR\IDA761\idapydir;%VENVIDA%;%PYTHONHOME%\DLLs;%PYTHONHOME%\lib;%PYTHONHOME%;%PYTHONHOME%\lib\site-packages;%PYTHONHOME%\lib\site-packages\win32;%PYTHONHOME%\lib\site-packages\win32\lib;%PYTHONHOME%\lib\site-packages\Pythonwin
@set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONHOME%\Library\bin;%PYTHONHOME%\condabin;%PATH%
@set PATH=d:\IDADIR\Graphviz\bin;%PATH%
@call activate.bat %PYTHONHOME%"
因为以前给旧版IDA安装了sark,且是全局安装(即简单的pip install sark,安装到python的安装目录下的lib/size-packages目录)。如果安装了需要先执行【pip uninstall sark】删除。
因为以前给旧版IDA安装了sark,且是全局安装(即简单的pip install sark,安装到python的安装目录下的lib/size-packages目录)。如果安装了需要先执行【pip uninstall sark】删除。
这里给IDA7.6.1安装sark==7.4.1,先创建给IDA7.6.1专用的环境配置,其中【D:\IDADIR\IDA761】改为实际的IDA安装目录,【envIDA761】名称随意,其是被创建配置目录。然后通过【D:\IDADIR\IDA761\envIDA761\Scripts\activate.bat】激活IDA761环境,通过【pip install sark==7.4.1】给IDA7.6.1安装适配的sark版本。
这里给IDA7.6.1安装sark==7.4.1,先创建给IDA7.6.1专用的环境配置,其中【D:\IDADIR\IDA761】改为实际的IDA安装目录,【envIDA761】名称随意,其是被创建配置目录。然后通过【D:\IDADIR\IDA761\envIDA761\Scripts\activate.bat】激活IDA761环境,通过【pip install sark==7.4.1】给IDA7.6.1安装适配的sark版本。
python -m venv D:\IDADIR\IDA761\envIDA761
D:\IDADIR\IDA761\envIDA761\Scripts\activate.bat
pip install sark==7.4.1
deactivate
python -m venv D:\IDADIR\IDA761\envIDA761
D:\IDADIR\IDA761\envIDA761\Scripts\activate.bat
pip install sark==7.4.1
deactivate
同理,新建专属环境,激活环境,安装对应版本sark,退出。
同理,新建专属环境,激活环境,安装对应版本sark,退出。
python -m venv D:\IDADIR\IDA901\envIDA901
D:\IDADIR\IDA901\envIDA901\Scripts\activate.bat
pip install sark==9.0.0
deactivate
python -m venv D:\IDADIR\IDA901\envIDA901
D:\IDADIR\IDA901\envIDA901\Scripts\activate.bat
pip install sark==9.0.0
deactivate
(A)7632.bat文件位于IDA7.6.1目录下,其快捷方式位置随意,如桌面。
(B)VENVIDA 是专属 IDA7.6.1的配置,后面添加到 PYTHONPATH 变量中
(C)_NT_SYMBOL_PATH 是位windbg配置的符号环境变量。
(D)因为我的Anaconda3安装的一些模块使用了graphviz,所以path多了自己编译的graphviz路径。
(E)若是其他的python3,只需把其中的【D:\Anaconda3_64】替换即可。
(A)7632.bat文件位于IDA7.6.1目录下,其快捷方式位置随意,如桌面。
(B)VENVIDA 是专属 IDA7.6.1的配置,后面添加到 PYTHONPATH 变量中
(C)_NT_SYMBOL_PATH 是位windbg配置的符号环境变量。
(D)因为我的Anaconda3安装的一些模块使用了graphviz,所以path多了自己编译的graphviz路径。
(E)若是其他的python3,只需把其中的【D:\Anaconda3_64】替换即可。
@rem 7632.bat file for bootstrap ida.exe with py3
@set VENVIDA=D:\IDADIR\IDA761\envIDA761;D:\IDADIR\IDA761\envIDA761\lib;D:\IDADIR\IDA761\envIDA761\lib\site-packages;
@set _NT_SYMBOL_PATH=srv*C:\symbols*https://msdl.microsoft.com/download/symbols
@set PYTHONHOME=D:\Anaconda3_64
@set PYTHONPATH=D:\IDADIR\IDA761\idapydir;%VENVIDA%;%PYTHONHOME%\DLLs;%PYTHONHOME%\lib;%PYTHONHOME%;%PYTHONHOME%\lib\site-packages;%PYTHONHOME%\lib\site-packages\win32;%PYTHONHOME%\lib\site-packages\win32\lib;%PYTHONHOME%\lib\site-packages\Pythonwin
@set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONHOME%\Library\bin;%PYTHONHOME%\condabin;%PATH%
@set PATH=d:\Graphviz\bin;%PATH%
@call activate.bat %PYTHONHOME%
@start "" ida.exe
@rem 7632.bat file for bootstrap ida.exe with py3
@set VENVIDA=D:\IDADIR\IDA761\envIDA761;D:\IDADIR\IDA761\envIDA761\lib;D:\IDADIR\IDA761\envIDA761\lib\site-packages;
@set _NT_SYMBOL_PATH=srv*C:\symbols*https://msdl.microsoft.com/download/symbols
@set PYTHONHOME=D:\Anaconda3_64
@set PYTHONPATH=D:\IDADIR\IDA761\idapydir;%VENVIDA%;%PYTHONHOME%\DLLs;%PYTHONHOME%\lib;%PYTHONHOME%;%PYTHONHOME%\lib\site-packages;%PYTHONHOME%\lib\site-packages\win32;%PYTHONHOME%\lib\site-packages\win32\lib;%PYTHONHOME%\lib\site-packages\Pythonwin
@set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONHOME%\Library\bin;%PYTHONHOME%\condabin;%PATH%
@set PATH=d:\Graphviz\bin;%PATH%
@call activate.bat %PYTHONHOME%
@start "" ida.exe
python配置同上,只是把ida.exe改为ida64.exe。
python配置同上,只是把ida.exe改为ida64.exe。
@rem 7664.bat file for bootstrap ida64.exe with py3
@set VENVIDA=D:\IDADIR\IDA761\envIDA761;D:\IDADIR\IDA761\envIDA761\lib;D:\IDADIR\IDA761\envIDA761\lib\site-packages;
@set _NT_SYMBOL_PATH=srv*E:\r\d\symbols*https://msdl.microsoft.com/download/symbols
@set PYTHONHOME=D:\Anaconda3_64
@set PYTHONPATH=D:\IDADIR\IDA761\idapydir;%VENVIDA%;%PYTHONHOME%\DLLs;%PYTHONHOME%\lib;%PYTHONHOME%;%PYTHONHOME%\lib\site-packages;%PYTHONHOME%\lib\site-packages\win32;%PYTHONHOME%\lib\site-packages\win32\lib;%PYTHONHOME%\lib\site-packages\Pythonwin
@set PATH=%PYTHONHOME%;%PYTHONHOME%\Scripts;%PYTHONHOME%\Library\bin;%PYTHONHOME%\condabin;%PATH%
@set PATH=d:\Graphviz\bin;%PATH%
@call activate.bat %PYTHONHOME%
@start "" ida64.exe
@rem 7664.bat file for bootstrap ida64.exe with py3
@set VENVIDA=D:\IDADIR\IDA761\envIDA761;D:\IDADIR\IDA761\envIDA761\lib;D:\IDADIR\IDA761\envIDA761\lib\site-packages;

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

最后于 2025-12-13 15:48 被HHHso编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 1046
活跃值: (1153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2025-3-31 13:57
0
游客
登录 | 注册 方可回帖
返回