写IDAPython的时候,需要解决的两个问题就是:
- 如何脱离在IDA的python命令窗口进行编辑调试
- 脱离之后,如何设置代码补全(easy)
在本文中,将简单介绍使用VSCode + IDACode插件,实现脱离IDA的python命令窗口进行开发,并且通过设置python补全,达到良好的代码编辑体验。
环境说明
- Win10专业版
- IDA Pro 7.7,安装IDACode配套的插件
- VSCode,安装IDACode插件
- Python3.8.10
配置步骤
假设已经安装好了Python并且已经将Python的路径加入到了环境变量中。
接下来就是按照Github上官方的安装步骤进行配置
1. 在IDA上安装IDACode调试需要的插件
首先安装必要的python库,这是IDA中的IDACode插件需要的,此处安装也需要在IDA的Python中进行安装。
例如我的IDA中的Python是:C:\Program Files\IDA_Pro_7.7\python38
,那么在命令行中打开该目录使用python安装库到IDA的python库目录site-packages中。
1 | python.exe -m pip install debugpy tornado --target ./Lib/site-packages # 如果慢使用下面的命令阿里源 |
将如下的文件从Github下载并放入到IDA的plugins文件夹中
然后打开IDA,看命令行窗口是否成功加载了插件,看是否有报错,如果有则想办法解决。如下就遇到说python路径不存在,提示是可以在idacode_utils/settings.py中修改,那么修改为正确的路径
重新启动插件,已经成功加载
2. VSCode中安装IDACode插件
直接在VSCode的插件库中搜索IDACode,安装。然后开始创建一个简单的IDAPython脚本。
首先在IDA中启用插件,开启IDACode server:Edit -> Plugins -> IDACode。如下,已经开始监听。
然后在VSCode中调出命令板:Ctrl + Shift + p,先选择Connect to IDA,然后选择一个路径用来暂存VSCode要发送到IDA中执行的脚本。
如下,可以在IDA的命令行窗口中看到,VSCode已经连接上。
有两种方式可以发送脚本到IDA中执行,一种是使用命令面板,另外一种更简单是Ctrl + s保存直接发送到IDA中执行。之前的示例脚本出了一点问题,重新编辑下。如下,可以看到,IDA中执行了脚本,到此,VSCode和IDA的联动设置完成。
3. 设置pylance插件进行愉快代码补全
如果想要愉快进行代码编写,补全是必不可少的。在VSCode中有一个强大的插件pylance,可以
将IDAPython库的路径添加到Extra Paths中,让pylance可以提取其中的信息进行补全。
此时就可以愉快进行代码的补全了,撒花~~~