Inglés | 中文
El complemento IDA basado en el mismo modelo que CHATGPT, utilizando el modelo GPT-3.5-Turbo publicado por OpenAI, puede ayudar a los analistas a analizar rápidamente los archivos binarios.
Las características actualmente compatibles con WPeCHATGPT incluyen:
El complemento WPECHATGPT utiliza el modelo Text-Davinci-003 de OpenAI capacitado en GPT. Después de V2.0, use el último modelo GPT-3.5-turbo de OpenAI (lo mismo que ChatGPT ).
Los resultados del análisis de ChatGPT solo para referencia , de lo contrario, los analistas estaríamos sin trabajo en el acto. Xd
| Versión | Fecha | Comentario |
|---|---|---|
| 1.0 | 2023-02-28 | Basado en Gepetto. |
| 1.1 | 2023-03-02 | 1. Eliminar la función de analizar el cifrado y el descifrado. 2. Aumente la función de la función de restauración de Python. 3. Modificado algunos detalles. |
| 1.2 | 2023-03-03 | 1. Se agregó la función de encontrar vulnerabilidades binarias en las funciones. 2. Aumente la función de intentar generar automáticamente la EXP correspondiente. 3. Modificado algunos detalles. (La carga no se probó debido al retraso del servidor Operai) |
| 2.0 | 2023-03-06 | 1. Complete la prueba de las funciones relacionadas con la vulnerabilidad de la versión V1.2 . 2. Cambie al último modelo GPT-3.5-Turbo lanzado por OpenAI. |
| 2.1 | 2023-03-07 | Arregle el número de tiempo de tiempo de OpenAI-API. (Consulte la sección sobre informes de errores de OpenAI-API ) |
| 2.3 | 2023-04-23 | Agregue el auto-WPEGPT V0.1 para admitir el análisis automático de archivos binarios. (Paquete Anytree debe agregarse desde esta versión, use requisitos.txt o Pip instale Anytree ) |
| 2.4 | 2023-11-10 | 1. Cambió algunos detalles de visualización. 2. Actualizar auto-WPEGPT v0.2 . |
| 2.5 | 2024-08-07 | 1. Agregue soporte para otros modelos, puede configurar esto utilizando la variable del modelo . @tpsnt 2. Soporte para la nueva versión del paquete Python OpenAI. (Necesita actualizar su paquete OpenAI) |
pip install -r ./requirements.txt
WPeChatGPT.py , agregue su tecla API a la variable OpenAI.API_KEY , cambie la variable zh_cn a falso. (Chino predeterminado)WPeChatGPT.py y la carpeta Auto-WPeGPT_WPeace a la carpeta de complementos de IDA, y finalmente reinicie IDA para usarla. ! NOTE : Debe establecer el entorno IDA en Python3 , y debe usar el último paquete Operai Python después de la versión WPeCHATGPT 2.0 .
Admite el uso de cualquiera de las teclas de clic, barra de menú o atajo en IDA.
Clave caliente:
Function analysis = "Ctrl-Alt-G"
Rename function variables = "Ctrl-Alt-R"
Vulnerability finding = "Ctrl-Alt-E"
Haga clic derecho en la ventana del pseudocódigo:


Cómo usar:

Pantalla de efecto de análisis de funciones:

Mantalla de efecto de búsqueda de vulnerabilidad:

Historial de actualización:
| Versión | Fecha | Comentario |
|---|---|---|
| 0.1 | 2023-04-23 | Liberación inicial. |
| 0.2 | 2023-11-10 | 1. Mejore el reconocimiento de cadenas válidas. 2. Mejore el análisis de los árboles de llamadas de función. 3. Agregue reconocimiento para las funciones de importación. |
Cómo usar: Encuentre auto-wpegpt en la barra de menú y haga clic en él. Después de completar la salida, puede encontrar los resultados del análisis en la carpeta correspondiente ( "Nombre WPE_+IDB" ).

El significado de cada archivo en la carpeta de salida:
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:

Después de las pruebas, la versión V0.1 tiene un mejor efecto de análisis en archivos con menos funciones. En el caso de archivos binarios con una gran cantidad de funciones, los tokens excederán el rango. Intentaremos mejorarlo en la próxima versión.
A partir del 2 de marzo de 2023, a menudo encuentro errores de la API, y pensé que era un problema de inestabilidad del servidor (porque tengo altibajos aquí), pero debido a que hay demasiados comentarios que he encontrado errores relacionados, por lo que primero fui a OpenAI para verificar el estado de la API y descubrí que se estaba ejecutando bien, descubrí que podría no ser el problema del servidor que pensé, por lo que busqué y debugí que los problemas relacionados. Lo siguiente es cómo traté con el problema de conexión de la API de OpenAI:
En primer lugar, el complemento se ha ejecutado en las condiciones de científico en línea .
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 = ""
Si encuentra problemas o tiene alguna pregunta al usar el complemento, deje un mensaje o envíeme un correo electrónico.
El proyecto se basa en Gepetto e inspirado en él, puede visitar https://github.com/justicerage/gepetto para aprender sobre el método original.