OneShell

I fight for a brighter tomorrow

0%

IDAPython-搭建VSCode编辑环境

写IDAPython的时候,需要解决的两个问题就是:

  1. 如何脱离在IDA的python命令窗口进行编辑调试
  2. 脱离之后,如何设置代码补全(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
2
python.exe -m pip install debugpy tornado --target ./Lib/site-packages # 如果慢使用下面的命令阿里源
python.exe -m pip install debugpy tornado --target ./Lib/site-packages -i https://mirrors.aliyun.com/pypi/simple

undifined
将如下的文件从Github下载并放入到IDA的plugins文件夹中
undifined
然后打开IDA,看命令行窗口是否成功加载了插件,看是否有报错,如果有则想办法解决。如下就遇到说python路径不存在,提示是可以在idacode_utils/settings.py中修改,那么修改为正确的路径
undifined
undifined
重新启动插件,已经成功加载
undifined

2. VSCode中安装IDACode插件

直接在VSCode的插件库中搜索IDACode,安装。然后开始创建一个简单的IDAPython脚本。
undifined

首先在IDA中启用插件,开启IDACode server:Edit -> Plugins -> IDACode。如下,已经开始监听。
undifined
然后在VSCode中调出命令板:Ctrl + Shift + p,先选择Connect to IDA,然后选择一个路径用来暂存VSCode要发送到IDA中执行的脚本。
undifined
undifined
如下,可以在IDA的命令行窗口中看到,VSCode已经连接上。
undifined
有两种方式可以发送脚本到IDA中执行,一种是使用命令面板,另外一种更简单是Ctrl + s保存直接发送到IDA中执行。之前的示例脚本出了一点问题,重新编辑下。如下,可以看到,IDA中执行了脚本,到此,VSCode和IDA的联动设置完成。
undifined
undifined

3. 设置pylance插件进行愉快代码补全

如果想要愉快进行代码编写,补全是必不可少的。在VSCode中有一个强大的插件pylance,可以
undifined
将IDAPython库的路径添加到Extra Paths中,让pylance可以提取其中的信息进行补全。
undifined
此时就可以愉快进行代码的补全了,撒花~~~
undifined

参考链接