위챗 로컬 DB 접근 및 데이터 추출 CLI 도구 소개
jackwener/wx-cli-again
GitHub이 도구는 사용자의 PC에 저장된 위챗의 SQLCipher 암호화 데이터베이스를 읽어 채팅 기록, 연락처, 사진 등 다양한 정보를 명령줄 인터페이스(CLI)에서 접근하고 추출할 수 있게 합니다.
- 데이터를 외부로 전송하지 않고 기기 내에서 실시간으로 암호를 해독하며, AI 에이전트가 활용하기 좋은 메타데이터를 포함한 구조화된 결과를 제공합니다.
- 개발자나 리서처가 개인적인 대화 기록이나 네트워크 정보를 API 형태로 쉽게 접근하고, 이를 기반으로 자동화된 분석 시스템을 구축하는 데 핵심 자료를 제공할 수 있습니다.
- 데이터 접근을 위해서는 암호화된 DB에서 키를 추출하는 복잡한 초기 설정 과정이 필수적이며, macOS 등 OS별로 관리자 권한과 특정 환경 조건 충족이 요구됩니다.
이 도구는 사용자의 PC에 저장된 위챗의 SQLCipher 암호화 데이터베이스에 접근하여 채팅 기록, 연락처, 사진 등 다양한 정보를 명령줄 인터페이스(CLI)를 통해 읽고 구조화된 형태로 추출할 수 있게 합니다. 이 CLI는 데이터를 외부로 전송하지 않고 기기 내에서 실시간으로 복호화를 수행하며, 가 활용하기 용이하도록 `meta`와 같은 메타데이터를 포함한 구조화된 결과를 제공합니다. 또한, 백그라운드 데몬을 통해 데이터베이스의 mtime 변화를 감지하여 변경 사항만 캐싱하고 재사용함으로써 효율적인 처리를 지원합니다.
도구를 사용하기 위해서는 초기 설정 과정이 필수적입니다. 특히 암호화된 DB에서 키를 추출하는 작업이 중요하며, macOS 환경에서는 `sudo wx init` 명령을 통해 프로세스 메모 스캔 및 LLDB hook 등을 거쳐 필요한 키를 확보해야 합니다. 만약 특정 분량의 데이터가 누락되거나 핵심 분편에 대한 키가 부족할 경우, `sudo wx key extract --hook-seconds 90`과 같은 전용 명령어를 사용하여 키를 보강하는 것이 권장됩니다.
주요 기능으로는 채팅 기록 검색(`history`, `search`), 최근 메시지 확인(`new-messages`), 연락처 및 그룹 멤버 목록 조회(`contacts`, `members`) 등이 있습니다. 또한, 미디어 파일 추출을 위해 첨부파일 ID를 가져온 후 `wx extract` 명령으로 원본 파일을 복호화할 수 있으며, 공식 계정의 경우 별도의 `biz-articles` 명령어를 통해 기사 데이터를 조회하는 등 다양한 데이터 소스를 지원합니다.
용어 풀이
- AI 에이전트
- 목표를 받으면 스스로 계획을 세우고 도구를 써서 여러 단계의 작업을 해내는 AI.