영어 | 中文
OpenAI에서 발표 한 GPT-3.5-Turbo 모델을 사용하여 ChatGpt와 동일한 모델을 기반으로 한 IDA 플러그인은 분석가가 이진 파일을 신속하게 분석하는 데 도움이 될 수 있습니다.
WPECHATGPT 에서 현재 지원하는 기능은 다음과 같습니다.
WPECHATGPT 플러그인은 GPT에 대한 교육을받은 OpenAi의 Text-Davinci -003 모델을 사용합니다. v2.0 이후 OpenAI의 최신 GPT-3.5-Turbo 모델 ( ChatGpt 와 동일)을 사용하십시오.
Chatgpt의 참조에 대한 분석 결과 만 , 그렇지 않으면 우리 분석가들은 그 자리에서 작업을 중단 할 것입니다. XD
| 버전 | 날짜 | 논평 |
|---|---|---|
| 1.0 | 2023-02-28 | Gepetto를 기반으로합니다. |
| 1.1 | 2023-03-02 | 1. 암호화 및 암호 해독 분석 기능을 삭제합니다. 2. 파이썬 복원 기능의 기능을 늘리십시오. 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-Wegpt v0.1을 추가하십시오. (패키지 anytree는 이 버전에서 추가해야합니다. 요구 사항을 사용하십시오 .TXT 또는 PIP 설치 AnyTree ) |
| 2.4 | 2023-11-10 | 1. 일부 디스플레이 세부 사항을 변경했습니다. 2. Auto-Wegpt v0.2 업데이트. |
| 2.5 | 2024-08-07 | 1. 다른 모델에 대한 지원 추가 모델 변수를 사용하여이를 설정할 수 있습니다. @tpsnt 2. 새 버전의 Python Openai 패키지 지원. (OpenAI 패키지를 업데이트해야합니다) |
pip install -r ./requirements.txt
WPeChatGPT.py 수정하고 변수 OpenAi.api_key 에 API 키를 추가하고 변수 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. 가져 오기 기능에 대한 인식을 추가하십시오. |
사용 방법 : 메뉴 표시 줄에서 자동-푸프를 찾아 클릭하십시오. 출력이 완료되면 해당 폴더 ( "WPE_+IDB 이름" )에서 분석 결과를 찾을 수 있습니다.

출력 폴더에서 각 파일의 의미 :
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로 갔고 잘 실행되고 있음을 알았으므로 서버 문제가되지 않을 수도 있습니다. 다음은 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를 방문하여 원래 방법에 대해 알아볼 수 있습니다.