Inglês | 中文
O plug-in IDA com base no mesmo modelo que o ChatGPT, usando o modelo GPT-3.5-Turbo lançado pelo OpenAI, pode ajudar os analistas a analisar rapidamente arquivos binários.
Os recursos atualmente suportados pelo WPECHATGPT incluem:
O plug-in WPECHATGPT usa o modelo Text-Davinci-003 do OpenAI treinado no GPT. Após a v2.0, use o mais recente modelo GPT-Turbo do OpenAI (o mesmo que o chatgpt ).
Os resultados da análise do ChatGPT somente para referência , caso contrário, analistas estaríamos sem trabalho no local. XD
| Versão | Data | Comentário |
|---|---|---|
| 1.0 | 2023-02-28 | Baseado em Gepetto. |
| 1.1 | 2023-03-02 | 1. Exclua a função da análise de criptografia e descriptografia. 2. Aumente a função da função de restauração do Python. 3. Modificou alguns detalhes. |
| 1.2 | 2023-03-03 | 1. Adicionado a função de encontrar vulnerabilidades binárias nas funções. 2. Aumente a função de tentar gerar automaticamente a exp. 3. Modificou alguns detalhes. (O upload não foi testado devido ao atraso do servidor OpenAI) |
| 2.0 | 2023-03-06 | 1. Complete o teste das funções relacionadas à vulnerabilidade da versão V1.2 . 2. Mude para o modelo mais recente do GPT-3.5-Turbo lançado pelo OpenAI. |
| 2.1 | 2023-03-07 | Corrija a edição cronometrada do OpenAi-Api. (Consulte a seção sobre relatórios de erro do OpenAi-API ) |
| 2.3 | 2023-04-23 | Adicione o Auto-WPEGPT v0.1 para oferecer suporte à análise automática de arquivos binários. (Pacote Anytree precisa ser adicionado nesta versão, use requisitos.txt ou pip instalar Anytree ) |
| 2.4 | 2023-11-10 | 1. Alterou alguns detalhes da exibição. 2. Atualize o Auto-WPEGPT v0.2 . |
| 2.5 | 2024-08-07 | 1. Adicione suporte para outros modelos, você pode definir isso usando a variável do modelo . @tpsnt 2. Suporte para a nova versão do pacote Python Openai. (Precisa atualizar seu pacote OpenAI) |
pip install -r ./requirements.txt
WPeChatGPT.py , adicione sua chave da API ao variável openai.api_key , altere a variável zh_cn para false. (Chinês padrão)WPeChatGPT.py e a pasta Auto-WPeGPT_WPeace para a pasta Plugins da IDA e, finalmente, reinicie o IDA para usá-lo. ! NOTE : Você precisa definir o ambiente IDA como Python3 e precisa usar o mais recente pacote Python OpenAI após a versão WPECHATGPT 2.0 .
Suporta o uso de qualquer um dos cliques com o botão direito, barra de menu ou teclas de atalho na IDA.
Chave Hot:
Function analysis = "Ctrl-Alt-G"
Rename function variables = "Ctrl-Alt-R"
Vulnerability finding = "Ctrl-Alt-E"
Clique com o botão direito do mouse na janela Pseudocode:


Como usar:

Exibição do efeito da análise da função:

Exibição de efeito de descoberta de vulnerabilidades:

Histórico de atualização:
| Versão | Data | Comentário |
|---|---|---|
| 0.1 | 2023-04-23 | Liberação inicial. |
| 0,2 | 2023-11-10 | 1. Melhore o reconhecimento de seqüências válidas. 2. Melhore a análise das árvores de chamadas de função. 3. Adicione o reconhecimento das funções de importação. |
Como usar: Encontre o Auto-WPEGPT na barra de menus e clique nele. Após a conclusão da saída, você pode encontrar os resultados da análise na pasta correspondente ( "Nome do WPE_+IDB" ).

O significado de cada arquivo na pasta de saída:
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
Mostrar resultados:

Após o teste, a versão v0.1 tem um melhor efeito de análise em arquivos com menos funções. No caso de arquivos binários com um grande número de funções, os tokens excederão o intervalo. Vamos tentar melhorá -lo na próxima versão.
A partir de 2 de março de 2023, muitas vezes encontro erros de API e pensei que era um problema de instabilidade do servidor (porque tenho altos e baixos aqui), mas porque há muitos feedbacks que encontrei erros relacionados, então eu não foi o problema do servidor que eu pensava, eu pensei que o status da API e que estava em execução bem, que não foi o problema do servidor. A seguir, é como lidei com o problema de conexão da API OpenAI:
Primeiro de tudo, o plug -in foi executado sob as condições do Scientific Online .
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 = ""
Se você encontrar problemas ou tiver alguma dúvida ao usar o plug -in, deixe uma mensagem ou envie -me um email.
O projeto é baseado em Gepetto e inspirado nele, você pode visitar https://github.com/justicerage/gepetto para aprender sobre o método original.