最近OpenAI的chatGPT很火,chatGPT是一個大型的語言模型,能夠生成人類語言的文本,主要用于對話式的問答和聊天,以及模擬人類的對話行為
有關chatGPT的介紹就不多贅述了,相關內容很多,這是它們的官網OpenAI API
而Geptto是一個IDA插件,它使用了chatGPT的API,通過呼叫API,能夠在IDA中讓chatGPT識別函式,對函式實作的功能進行描述,并且根據函式的功能將變數重命名為易于理解的形式(而不是IDA中的v1 v2...)
Geptto開源,地址如下JusticeRage/Gepetto: IDA plugin which queries OpenAI's davinci-003 language model to speed up reverse-engineering (github.com)
Gepetto安裝
以下是在windows中安裝Gepetto插件,首先進入它們的倉庫下載原始碼,原始碼內容如下圖

然后,將gepetto.py復制,保存在IDA/plugins檔案夾下,
此外,你需要注冊一個chatGPT的賬號,并獲取API key,注冊chatGPT需要有梯子,具體方法見此處注冊ChatGPT全攻略 (qq.com)
現在假設你已經注冊好了chatGPT的賬號,點擊右上角的個人頭像查看API key:

選擇創建一個API key(這里我已經創建過了)

復制API key,然后打開保存在plugins里的gepetto.py檔案,在此處添加你的API key,作為變數openai.api_key的值

Gepetto的使用
現在,使用你的IDA隨意打開一個二進制檔案,選擇一個函式按F5完成反匯編,然后在反匯編視窗右鍵,會有一個Gepetto的選項卡

Explain function可以解釋函式功能,Rename variables則用于重命名變數,也可以使用快捷鍵呼叫,根據作者的測驗,重命名變數通常在解釋函式功能之后使用效果更好,
以下是兩種方式使用前后的對比圖


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/539339.html
標籤:其他
