소개
signalbackup-tools는 Signal Android 애플리케이션이 생성한 백업 파일을 처리하기 위한 명령줄 도구입니다. bepaald가 개발 및 유지보수하며, 백업 파일에서 데이터베이스, 미디어, 아바타 등을 추출하거나 수정할 수 있습니다. 이 도구는 백업 파일의 복호화 및 재암호화, 손상된 백업 복구, 특정 대화나 날짜 범위로 자르기, 백업 병합 등 다양한 기능을 제공합니다.
상세정보
데이터베이스 추출 및 복원
이 도구는 신호 백업 파일에서 암호화된 SQLite 데이터베이스를 복호화하여 디렉터리에 추출할 수 있습니다. 추출된 데이터베이스는 편집 후 다시 암호화하여 유효한 백업 파일로 재조립할 수 있습니다. 이 과정은 --output 옵션을 사용하여 디렉터리를 출력 대상으로 지정함으로써 수행됩니다.
미디어 및 아바타 내보내기
--dumpmedia 옵션을 사용하여 메시지 첨부 파일을 내보내고, --dumpavatars 옵션을 사용하여 연락처 아바타를 내보낼 수 있습니다. 특정 대화나 날짜 범위로 내보내기를 제한하는 --limittothreads 및 --limittodates 옵션도 지원됩니다.
손상된 백업 복구
이 도구는 프레임 수준에서의 손상된 백업 파일을 스캔하고, 손상된 프레임을 제거하여 복구된 백업 파일을 생성할 수 있습니다. 이 기능은 --output 옵션만 제공하여 손상된 프레임 위치를 식별하거나, 출력 파일을 지정하여 복구된 백업을 생성하는 데 사용됩니다.
백업 병합 및 가져오기
여러 백업 파일을 병합하거나, Signal Desktop 또는 JSON/Telegram 형식의 대화를 가져올 수 있는 기능이 제공됩니다. 또한 첨부 파일을 삭제하거나 교체하는 작업도 지원됩니다.
Windows 바이너리 다운로드
Windows 사용자는 릴리스 페이지에서 가장 récente Windows 실행 파일을 다운로드할 수 있습니다. 이 실행 파일은 정적 빌드로 교차 컴파일되었으며, 명령줄 애플리케이션이므로 터미널에서 실행해야 합니다.
실행 방법
다운로드한 실행 파일을 받은 후, 명령 프롬프트 또는 PowerShell을 열고 해당 디렉터리로 이동하여 다음과 같이 실행합니다:
signalbackup-tools.exe [입력파일] [패스프레이즈]
예를 들어 백업 파일의 내용을 디렉터리로 추출하려면 다음과 같이 입력합니다:
signalbackup-tools.exe signal-2023-07-14.backup 내비밀번호 --output 백업내용
기본 사용법/명령어
이 도구의 기본 실행 형식은 다음과 같습니다:
signalbackup-tools [입력파일] [패스프레이즈] [옵션]
입력 파일은 처리할 신호 백업 파일이며, 패스프레이즈는 백업 파일을 복호화하는 데 사용됩니다. 패스프레이즈를 제공하지 않으면 실행 시 프롬프트에서 입력을 요청합니다.
주요 옵션 설명
--output [파일 또는 디렉터리]: 처리 결과를 저장할 파일 또는 디렉터리를 지정합니다. 디렉터리를 지정하면 백업 내용을 추출하고, 파일을 지정하면 처리된 백업을 저장합니다.--onlydb: 데이터베이스만 추출하고 미디어 파일은 건너뜁니다.--opassphrase [새패스프레이즈]: 출력 백업 파일에 사용할 새로운 패스프레이즈를 지정합니다. 지정하지 않으면 입력 패스프레이즈가 재사용됩니다.--dumpmedia [출력디렉터리]: 메시지 첨부 파일만 지정된 디렉터리로 내보냅니다.--dumpavatars [출력디렉터리]: 연락처 아바타만 지정된 디렉터리로 내보냅니다.--fix: 손상된 백업 파일을 스캔하고 복구 시도합니다 (출력 파일이 지정되지 않은 경우 손상 위치만 보고).
이런 경우에 유용합니다
Signal 메시지 기록을 장기간 보관하거나, 기기 변경 시 백업을 이전하려는 사용자에게 유용합니다. 특히 백업 파일이 손상되어 일반 복구 방법이 실패한 경우, 이 도구를 사용하여 손상된 부분을 제거하고 복구된 백업을 생성할 수 있습니다. 또한 특정 대화나 날짜 범위의 메시지만 추출하여 법적 목적이나 개인 아카이브용으로 활용할 수 있습니다.
지원 환경·시스템 요구사항
Windows용 사전 빌드된 바이너리는 별도의 의존성 없이 실행 가능합니다. 소스 코드에서 직접 컴파일하려면 C++17 이상을 지원하는 컴파일러, OpenSSL, SQLite3가 필요하며, Linux에서는 dbus도 추가로 요구될 수 있습니다. Windows 바이너리는 이러한 의존성을 정적으로 포함하고 있어 별도 설치 없이 사용할 수 있습니다.
최신 버전·업데이트
현재 버전은 2026.8.22이며, 최신 소스 코드와 릴리스 정보는 GitHub 릴리스 페이지에서 확인할 수 있습니다. 업데이트는 신호 애플리케이션의 백업 형식 변경에 대응하여 정기적으로 제공됩니다.
제한 사항·확인 사항
이 도구는 신호 애플리케이션의 공식 제품이 아니며, 신호 재단과 무관하게 독립적으로 개발되었습니다. 신호의 백업 형식이 자주 변경되므로, 최신 버전의 신호 앱에서 생성한 백업 파일과의 호환성은 보장되지 않을 수 있습니다. 또한 Windows 바이너리는 최소한의 테스트만 거쳤으며, 모든 환경에서의 안정성은 완전히 검증되지 않았습니다.
화면으로 보는 주요 기능
그룹 메시지 색상 테스트

그룹 채팅 화면에서 그룹 이름과 메시지 박스의 색상이 노란색과 검은색으로 설정된 상태를 보여줍니다. 왼쪽은 노란색 그룹, 오른쪽은 검은색 그룹으로, 각각의 메시지 박스와 그룹 이름이 해당 색상으로 표시됩니다. 메시지 박스는 'This should be all yellow'와 'This should be all black'라는 텍스트를 포함하고 있으며, 시간은 각각 14:02와 14:03입니다. 메시지 박스의 배경색과 텍스트 색상이 그룹 설정에 따라 달라지는 것을 확인할 수 있습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


