Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
idacode — IDA와 VS Code를 연결하여 IDAPython 스크립트를 쉽게 실행하고 디버깅할 수 있게 해주는 통합 도구입니다. | Kitploit
도구/GitHubGitHub/ioncodes/idacode
Reverse EngineeringScripting & AutomationDebuggersBinary Analysis
GitHubioncodes/idacode

idacode

IDA와 VS Code를 연결하여 IDAPython 스크립트를 쉽게 실행하고 디버깅할 수 있게 해주는 통합 도구입니다.

저장소 보기
9878511개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

IDACode

IDACode를 사용하면 Visual Studio Code를 떠나지 않고 IDA 환경에서 Python 스크립트를 쉽게 실행하고 디버그할 수 있습니다. VS Code 확장 프로그램은 마켓플레이스에서 찾을 수 있습니다.
IDACode는 아직 초기 단계이며 버그가 발생할 수 있습니다. 문제가 발생하면 새 이슈를 열어 주세요.

기능

  • 속도: 스크립트를 빠르게 생성하고 실행합니다.
  • 디버깅: 언제든지 Python 디버거를 연결할 수 있습니다.
  • 호환성: IDACode는 특정 방식으로 스크립트를 수정할 필요가 없습니다. 모든 스크립트를 변경 없이 IDA 내에서 실행할 수 있습니다.
  • 모듈성: IDACode는 스레드 동기화를 위해 안전한 래퍼를 광범위하게 사용하지 않으므로 언제든지 모든 경로에서 모든 모듈을 가져올 수 있습니다. 대신 IDACode는 스크립트 실행 스레드를 IDA의 메인 스레드와 동기화하여 성능 및 예기치 않은 문제를 방지합니다.
  • 동기화: IDACode는 통신에 debugpy를 사용하므로 출력 창이 VS Code의 출력 패널과 자연스럽게 동기화됩니다.

IDACode는 IDA 8.4/9.0 및 Python 3.12를 사용하여 Windows와 macos에서 테스트되었습니다 (이전 Python 버전은 디버깅에 문제가 있습니다).

설치

IDA 플러그인의 종속성을 설정하려면 다음을 실행하세요:

root@kitploit:~
# 올바른 Python 버전을 사용해야 합니다.
# IDACode는 버전 3.0.0부터 최신 debugpy를 지원합니다. 업그레이드해야 합니다!
python -m pip install --user debugpy tornado

이 저장소를 클론하거나 여기에서 릴리스 패키지를 다운로드하세요. ida.zip은 이 저장소의 ida 폴더 내용을 반영합니다. 모든 파일을 IDA의 플러그인 디렉토리로 복사하세요.

다음 단계는 환경에 맞게 설정을 구성하는 것입니다 (선택 사항). idacode_utils/settings.py를 적절히 편집하세요:

  • HOST: 호스트 주소입니다. 원격 위치에서 액세스할 수 있게 하려는 경우가 아니라면 항상 127.0.0.1입니다. 이 플러그인은 인증을 사용하지 않는다는 점을 명심하세요.
  • PORT: IDA가 수신 대기할 포트입니다. 이 포트는 IDA와 VS Code 간의 WebSocket 통신에 사용됩니다.
  • DEBUG_PORT: 들어오는 디버그 세션을 수신 대기할 포트입니다.
  • LOGGING: 디버거가 파일에 로그를 기록할지 여부를 결정합니다. IDACode에서 문제가 발생하는 경우 특히 유용합니다. 문제를 발견하면 새 이슈를 제출해 주세요. 파일은 항상 임시 디렉토리 (예: Windows: %TEMP%)에 위치합니다. 파일 이름은 debugpy.*.log입니다.

이제 플러그인 메뉴에서 IDACode를 클릭하여 플러그인을 시작할 수 있습니다.

VS Code 확장 프로그램은 마켓플레이스에서 사용할 수 있습니다. 확장 프로그램 구성에 관한 자세한 내용은 확장 프로그램의 README를 참조하세요.

사용법

IDA

플러그인 메뉴에서 IDACode를 클릭하세요. 다음과 같은 텍스트가 표시되어야 합니다:

root@kitploit:~
IDACode listening on 127.0.0.1:7065

VS Code

버전 0.2.0부터 IDACode는 기본적으로 활성화된 "저장 시 실행"을 지원합니다. 현재 문서를 저장하면 (예: CTRL+S) VS Code가 자동으로 IDA에서 스크립트를 실행합니다. 이 동작은 설정에서 비활성화할 수 있습니다. Ctrl-Shift-P를 사용하여 VS Code 확장 프로그램 개발 콘솔을 열고 "idacode"를 입력하면 아래 명령 목록이 표시됩니다. VS Code의 "실행" 또는 "디버그" 기능을 사용하지 마세요. 그렇지 않으면 IDA에서 "HTTP misformed" 메시지가 표시됩니다.

4개의 명령을 사용할 수 있습니다:

commands

스크립트를 넣을 폴더를 열면 (VS Code에서 폴더를 지정하라는 메시지가 표시되면 반드시 지정해야 합니다!) IDA에 연결할 준비가 된 것입니다. Connect to IDA 또는 Connect and attach a debugger to IDA를 실행하여 연결할 수 있습니다. 디버그 세션은 IDA를 다시 시작할 때까지 영구적이라는 점을 명심하세요. 디버거가 시작된 후에는 작업 공간 폴더를 변경할 수 없습니다.
작업 공간 폴더는 주요 스크립트가 위치한 폴더여야 합니다.
연결되면 Execute script in IDA를 선택할 수 있습니다.

디버깅

IDACode는 VS Code의 원격 디버거를 사용하여 IDA에 연결합니다. 모든 VS Code 기능이 지원됩니다. 그러나 Python 내장 기능인 breakpoint를 사용하여 스크립트의 진입점을 지정해야 합니다. 이 명령은 디버거에게 실행을 중단하도록 지시하며, 디버거가 없으면 함수를 무시합니다. IDACode는 bp라는 breakpoint의 오버로드를 구현한 dbg라는 헬퍼 패키지를 가져옵니다. 이 함수는 로깅 및 조건문을 지원합니다:

root@kitploit:~
name = idc.get_segm_name(segment)
dbg.bp(name==".text", f"found {name} at {segment}")

또한 breakpoint() 호출은 파일 끝에 절대 위치해서는 안 되며, 코드의 다음 명령어에서 중단되므로 항상 다른 코드 줄 앞에 있어야 합니다. dbg 패키지를 사용하기로 결정한 경우 모든 참조를 제거하거나 일반 IDA 스크립트로 실행하기 전에 조건부로 __idacode__ 변수를 사용해야 합니다.
디버거를 연결하면 새 디버거 인스턴스가 생성된다는 점도 중요합니다. 대부분의 경우 원하는 것이 아닙니다. 디버거에서 연결을 끊으면 VS Code의 원격 디버거를 사용하여 다시 연결하세요.

알려진 문제

  • 가져온 모듈이 변경 후 다시 로드되지 않습니다. 해결 방법은 여기를 참조하세요.

데모

demo

기여자

  • mrexodia
  • MeitarR
  • Plutoberth
  • OevreFlataeker
  • RolfRolles
도구 다운로드