개발 환경
아이다 프로 7.7
최신 버전의 vscode
Python 버전은 IDA 자체 Python 3.8.10과 일치합니다.
플러그인 설치
플러그인 웨어하우스 주소 다운로드: https://github.com/ioncodes/idacode 릴리스 버전
IDApath/plugins/에 플러그인 설치
idacode ->setting.py는 다음과 같이 설정됩니다.
HOST = "127.0.0.1"
PORT = 7065
DEBUG_PORT = 7066
PYTHON = "D:\\Python3810\\python.exe" #这里选择python安装路径
LOGGING = True
그런 다음 vscode의 Python 버전 및 경로는 여기의 설정과 일치해야 합니다.
vscode의 오른쪽 하단에 있는 Python 구성을 클릭합니다.
플러그인 종속성 설치
python -m pip install --user debugpy tornado
IDA 시작
다음과 같이 로그를 봅니다. 이는 시작이 성공했음을 의미합니다.
================================================================================
[IDACode] Plugin version 0.3.0
[IDACode] Plugin loaded, use Edit -> Plugins -> IDACode to start the server
================================================================================
편집->플러그인->IDAcode 팁을 클릭합니다.
[IDACode] Listening on 127.0.0.1:7065
IDA 서버가 성공적으로 시작되었습니다.
VScode 클라이언트 시작
IDAcode 플러그인 다운로드
ctrl+shift+x 다운로드할 IDAcode 입력
IDApython 구문 프롬프트 구성
ctrl+shift+p 및 사용자 설정 열기 입력
다음과 같이 json을 추가합니다.
"python.autoComplete.extraPaths": [
"D:\\IDA_Pro_7.7\\python\\3"
],
"python.analysis.extraPaths": [
"D:\\IDA_Pro_7.7\\python\\3"
],
IDA에 연결
ctrl+shift+p를 누르고 IDA를 입력합니다.
1. IDA에 연결을 선택합니다.
ida 창 프롬프트:
[IDACode] Client connected
2. 다음에서 스크립트 실행을 선택합니다.
현재 vscode에 표시된 IDApython 스크립트 실행
3. 디버그 IDApython 스크립트
연결을 선택하고 디버거를 IDA에 연결한
다음 코드 측에 중단점()을 추가한
다음 Ctrl+s를 누르면 디버그 중단점 주소가 자동으로 입력됩니다.
데모는 다음과 같습니다.
import sys
import idc
breakpoint() #进入调试模式 会在这里断下
start = idc.get_screen_ea()
end = start+0x100
print("breakpoint before")
breakpoint() #进入调试模式 会在这里断下
print("breakpoint after")
print(sys.path)
vscode 콘솔과 IDApython 콘솔 모두 정보를 인쇄합니다.
참고
VSCode_Code 세그먼트의 블로그-CSDN 블로그에서 IDAPython 스크립트 디버그
VSCode를 사용하여 Windows에서 IDA Python 스크립트 개발 환경 구축 - Uiharu - Blog Park (cnblogs.com)