
비공식 VSCode용 frida 확장 프로그램
이 프로젝트는 커뮤니티 기여 프로젝트로, 공식 Frida 팀과는 관련이 없습니다. @CodeColorist가 Visual Studio Code용 오픈소스 확장 프로그램으로 개발 및 유지 관리하며, Frida 스크립팅 경험을 향상시키기 위한 것입니다.
inetcat 명령으로 SSH 셸을 시작하기 위한 용도)Windows를 사용하는 경우 USB로 iOS 기기와 상호작용하려면 iTunes를 계속 열어 두어야 합니다.
PEP0668 때문에 pip3 install frida-tools를 전역으로 실행하면 오류가 발생할 수 있습니다.
권장하는 방법은 VSCode에서 폴더(작업 영역)를 연 다음 Python 확장 프로그램을 사용하여 가상 환경을 만들고 활성화하는 것입니다. 이 경우 확장 프로그램은 현재 활성화된 Python venv를 사용하여 frida 명령을 로드합니다.
또는 pipx나 UV 같은 패키지 관리자를 사용하여 격리된 상태로 $PATH에 설치할 수도 있습니다.

사이드바 패널에서 연결된 기기의 앱과 프로세스를 나열합니다. 마우스 오른쪽 버튼으로 로컬 대상에 attach, 상승된 권한으로 attach, spawn, 일시 중단(suspended) 모드로 spawn, 프로세스 종료, 기기/프로세스 정보를 클립보드에 복사 등을 수행할 수 있습니다. 로컬, USB, 원격 기기를 지원합니다. 로컬 프로세스 항목에는 가능한 경우 실행 파일 경로, 소유자, 부모 PID, 인수 등 최선의 메타데이터가 포함됩니다.
연결된 프로세스에 로드된 네이티브 모듈과 해당 내보내기 함수를 탐색합니다. 모듈을 이름으로 필터링하고, 기본 주소, 크기, 경로를 확인한 다음 훅 생성을 위한 익스포트를 선택할 수 있습니다.
Java와 Objective-C의 런타임 클래스와 메서드를 탐색합니다. 클래스를 필터링하고, 자체 메서드와 상속된 메서드 사이를 전환하며, 훅 생성을 위해 메서드를 일괄 선택할 수 있습니다. 또한 Objective-C 프로토콜 검사 기능도 포함되어 있어 프로토콜을 탐색하고 분석할 수 있습니다.
리버스 엔지니어링을 위한 클래스 헤더를 덤프합니다:
모듈 및 클래스 패널에서 Frida 훅 코드를 생성합니다:
onEnter / onLeave 콜백이 포함된 Interceptor.attach()Java.perform() / Java.use() 훅JavaScript / TypeScript의 Frida 스크립트에 대한 컨텍스트 인식 자동 완성:
ObjC.classes.<ClassName> — Objective-C 클래스 이름 자동 완성ObjC.classes.Foo['<method>'] — 메서드 셀렉터 자동 완성ObjC.classes.Foo.method — 클래스 메서드 셀렉터 자동 완성Java.use('<ClassName>') — Java 클래스 이름 자동 완성Process.getModuleByName('<name>') — 로드된 모듈 이름 자동 완성언어 서버는 대상 프로세스 컨텍스트에 의존합니다. 작업 영역에 구성 파일 .vscode/frida.json을 만들어야 합니다. 가장 쉬운 방법은 사이드바에서 프로세스나 앱을 마우스 오른쪽 버튼으로 클릭하고 LSP 대상 설정을 선택하면 파일이 자동으로 생성됩니다.
.vscode/frida.json 구성이 파일은 LSP가 연결할 기기와 대상을 지정합니다. device 필드가 필요하며 app, pid, process 중 정확히 하나가 필요합니다.
앱 식별자로 연결 (권장 — 앱을 spawn하거나 attach):
{
"device": "local",
"app": "com.example.myapp"
}
프로세스 이름으로 연결:
{
"device": "local",
"process": "myprocess"
}
PID로 연결 (여러 프로세스가 같은 이름을 공유할 때 유용):
{
"device": "local",
"pid": 1234
}
device 값은 Frida 기기 ID에 해당합니다 — 호스트 머신은 local, USB 연결 기기는 usb, 원격 기기는 host:port 문자열입니다.
LSP는 이 파일의 변경 사항을 감시합니다. 이 파일을 편집하거나 다시 생성하면 새 대상으로 언어 서버가 자동으로 다시 시작됩니다.
연결된 프로세스의 실시간 애플리케이션 로그를 스트리밍합니다.
중단점으로 Frida 스크립트를 디버깅하기 위한 VSCode launch.json 및 tasks.json 생성.
Android 기기의 경우 셸 열기는 adb shell의 래퍼입니다.
iOS의 경우 탈옥된 기기에서 SSH 셸을 제공합니다. 자격 증명을 구성해야 할 수 있습니다.
사이드바에서 직접 host:port를 통해 원격 Frida 기기에 연결합니다.