英語| 中文
ChatGPTと同じモデルに基づいたIDAプラグインは、OpenAIがリリースしたGPT-3.5ターボモデルを使用して、アナリストがバイナリファイルをすばやく分析するのに役立ちます。
現在wpechatgptでサポートされている機能は次のとおりです。
WPECHATGPTプラグインは、GPTでトレーニングされたOpenAIのText-Davinci-003モデルを使用しています。 v2.0の後、Openaiの最新のGPT-3.5ターボモデル( ChatGPTと同じ)を使用します。
CHATGPTの分析結果は参照のみであり、それ以外の場合は、アナリストがその場で仕事をしていません。 XD
| バージョン | 日付 | コメント |
|---|---|---|
| 1.0 | 2023-02-28 | Gepettoに基づいています。 |
| 1.1 | 2023-03-02 | 1.暗号化と復号化の分析機能を削除します。 2。Python復元機能の関数を増やします。 3.いくつかの詳細を変更しました。 |
| 1.2 | 2023-03-03 | 1.関数にバイナリの脆弱性を見つける機能を追加しました。 2。対応するexpを自動的に生成しようとする機能を増やします。 3.いくつかの詳細を変更しました。 (Openaiサーバーの遅れにより、アップロードはテストされていません) |
| 2.0 | 2023-03-06 | 1. v1.2バージョンの脆弱性関連機能のテストを完了します。 2。OpenAIがリリースした最新のGPT-3.5ターボモデルに切り替えます。 |
| 2.1 | 2023-03-07 | Openai-APIのタイムアウト号を修正します。 ( OpenAI-APIエラー報告に関するセクションを参照) |
| 2.3 | 2023-04-23 | Auto-WPEGPT v0.1を追加して、バイナリファイルの自動分析をサポートします。 (このバージョンから任意のツリーを追加する必要があります。要件を使用するか、 pipインストール任意のツリー) |
| 2.4 | 2023-11-10 | 1.いくつかの表示の詳細を変更しました。 2。Auto -WPEGPT v0.2を更新します。 |
| 2.5 | 2024-08-07 | 1.他のモデルのサポートを追加すると、モデル変数を使用してこれを設定できます。 @TPSNT 2。Python Openaiパッケージの新しいバージョンのサポート。 (OpenAIパッケージを更新する必要があります) |
pip install -r ./requirements.txt
WPeChatGPT.pyを変更し、APIキーを変数Openai.api_keyに追加し、変数ZH_CNをfalseに変更します。 (デフォルトの中国語)WPeChatGPT.pyとフォルダーAuto-WPeGPT_WPeaceをIDAのプラグインフォルダーにコピーし、最後にIDAを再起動して使用します。 ! NOTE : IDA環境をPython3に設定する必要があり、WPECHATGPT 2.0バージョンの後に最新のOpenAI Pythonパッケージを使用する必要があります。
IDAの右クリック、メニューバー、またはショートカットキーを使用してサポートします。
ホットキー:
Function analysis = "Ctrl-Alt-G"
Rename function variables = "Ctrl-Alt-R"
Vulnerability finding = "Ctrl-Alt-E"
擬似コードウィンドウを右クリックします。


使い方:

関数分析効果表示:

脆弱性検索効果表示:

履歴の更新:
| バージョン | 日付 | コメント |
|---|---|---|
| 0.1 | 2023-04-23 | 初期リリース。 |
| 0.2 | 2023-11-10 | 1。有効な文字列の認識を改善します。 2。関数コールツリーの分析を改善します。 3.インポート関数の認識を追加します。 |
使用方法:メニューバーでAuto-WPEGPTを見つけてクリックします。出力が完了したら、対応するフォルダー( "wpe_+idb name" )で分析結果を見つけることができます。

出力フォルダー内の各ファイルの意味:
GPT-Result.txt -> Auto-WPeGPT analysis results
funcTree.txt -> function call tree structure
mainFuncTree.txt -> main function tree structure
effectiveStrings.txt -> Suspicious strings in the binary
結果を表示:

テスト後、V0.1バージョンは、機能が少ないファイルにより良い分析効果があります。多数の機能を備えたバイナリファイルの場合、トークンは範囲を超えます。次のバージョンで改善しようとします。
2023年3月2日からAPIエラーが発生することがよくあり、サーバーの不安定性の問題だと思っていました(ここに浮き沈みがあるため)が、関連するエラーに遭遇したフィードバックが多すぎるため、IIは最初にAPIステータスをチェックしてうまく実行されていることがわかりました。以下は、OpenAI API接続の問題に対処する方法です。
まず、プラグインは科学的なオンラインの条件の下で実行されています。
pip uninstall urllib3
pip install urllib3==1.25.11
# Set your forward-proxy if necessary. (e.g. Clash = http://127.0.0.1:7890)
proxy = ""
# Set reverse-proxy URL if you need. (e.g. Azure OpenAI)
proxy_address = ""
プラグインを使用する際に問題が発生したり、質問がある場合は、メッセージを残すか、メールを送信してください。
このプロジェクトはGepettoに基づいており、それに触発されて、https://github.com/justicerage/gepettoにアクセスして、元の方法について学ぶことができます。