Windows で IDApython スクリプト開発環境を構築する VScode で発生する問題

開発環境

IDA プロ 7.7

vscodeの最新バージョン

Python のバージョンは IDA 独自の Python 3.8.10 と一致しています。

プラグインをインストールする

プラグイン ウェアハウスのアドレスをダウンロードします: https://github.com/ioncodes/idacode リリース バージョン

プラグインを IDApath/plugins/ にインストールします

idacode ->setting.py は次のように設定されます。

HOST = "127.0.0.1"
PORT = 7065
DEBUG_PORT = 7066
PYTHON = "D:\\Python3810\\python.exe" #这里选择python安装路径
LOGGING = True

次に、vscode の Python バージョンとパスがここの設定と一致している必要があります。
vscode の右下隅にある Python 設定をクリックします。
ここに画像の説明を挿入

プラグインの依存関係をインストールする

python -m pip install --user debugpy tornado

IDAを開始する

次のようにログを確認します。これは、起動が成功したことを意味します。

================================================================================
[IDACode] Plugin version 0.3.0
[IDACode] Plugin loaded, use Edit -> Plugins -> IDACode to start the server
================================================================================

「編集」->「プラグイン」->「IDAcode」をクリックします。

[IDACode] Listening on 127.0.0.1:7065

IDAサーバーが正常に起動しました

VScodeクライアントが起動します

IDAcodeプラグインをダウンロードする

ctrl+shift+x ダウンロードするIDAコードを入力

IDApython 構文プロンプトを構成する

Ctrl+Shift+P を押して「ユーザー設定を開く」と入力します

次のように json を追加します。

    "python.autoComplete.extraPaths": [
        "D:\\IDA_Pro_7.7\\python\\3"
    ],
    "python.analysis.extraPaths": [
        "D:\\IDA_Pro_7.7\\python\\3"
    ],

IDAに接続する

Ctrl+Shift+P を押して IDA を入力します

画像の説明を追加してください

1. IDAへの接続を選択します

ida ウィンドウのプロンプト:

[IDACode] Client connected

2. でスクリプトの実行を選択します。

現在 vscode で表示されている IDApython スクリプトを実行します

3. IDApython スクリプトをデバッグします
[接続] を選択して IDA にデバッガーを接続し
、コード側に Breakpoint() を追加します
。Ctrl+S でデバッグ ブレークポイント アドレスが自動的に入力されます。
ここに画像の説明を挿入

デモは次のとおりです。

import sys
import idc

breakpoint() #进入调试模式 会在这里断下
start = idc.get_screen_ea()
end = start+0x100
print("breakpoint before")
breakpoint()  #进入调试模式 会在这里断下

print("breakpoint after")
print(sys.path)

vscode コンソールと IDApython コンソールの両方が情報を出力します。

画像の説明を追加してください

参考

VSCode_Code Segment のブログで IDAPython スクリプトをデバッグする - CSDN ブログ

VSCode を使用して Windows 上に IDA Python スクリプト開発環境を構築する - 初春 - Blog Park (cnblogs.com)

おすすめ

転載: blog.csdn.net/qq_36535153/article/details/131404495