Repolode
onekey-sec

onekey-sec/unblob

78개 이상의 아카이브, 압축 및 파일 시스템 형식에서 파일을 재귀적으로 추출하고 바이너리 블롭에서 알 수 없는 청크를 분리하는 CLI 도구입니다.

스타
2,634
포크
159
열린 이슈
56
마지막 커밋
그저께

어떤 프로젝트인가요?

unblob은 펌웨어 이미지 같은 정체를 알 수 없는 바이너리 블롭을 입력받아 내부에 숨겨진 컨테이너 형식을 찾아냅니다. SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ, LZMA를 비롯한 알려진 아카이브, 압축 및 파일 시스템 형식을 파싱한 다음, 설정 가능한 깊이까지 내용을 재귀적으로 추출합니다.

알려진 형식과 일치하지 않는 데이터는 알 수 없는 청크로 분리하며, null 및 0xFF 패딩도 자동으로 식별합니다. 청크의 엔트로피와 카이제곱 분석 결과를 활용하면 암호화되거나 압축된 영역을 찾는 데 도움이 됩니다. JSON 보고서에는 청크의 오프셋, 크기, 엔트로피, 소유자, 권한 및 타임스탬프가 기록됩니다.

이 도구는 일반 사용자 권한으로 실행되며 기본적으로 여러 CPU 코어를 사용합니다. 런타임에 플러그인 경로를 통해 사용자 지정 형식 핸들러를 불러올 수 있습니다. pip, Docker, Nix 및 Kali Linux 패키지로 설치할 수 있으며, 몇 가지 외부 추출기 유틸리티에 의존합니다.

핵심 기능

  • 01SquashFS, JFFS2, UBIFS, ZIP 등 78개 이상의 아카이브, 압축 및 파일 시스템 형식을 지원합니다.
  • 02설정 가능한 깊이까지 중첩 컨테이너를 재귀적으로 추출합니다.
  • 03각 형식의 표준에 따라 청크의 시작 및 끝 오프셋을 감지합니다.
  • 04알 수 없는 데이터를 분리하고 null 또는 0xFF 패딩을 자동으로 식별합니다.
  • 05알 수 없는 청크의 Shannon 엔트로피와 카이제곱 값을 계산합니다.
  • 06오프셋, 크기, 소유자 및 권한이 포함된 JSON 보고서를 작성합니다.
  • 07런타임 플러그인 경로를 통해 사용자 지정 형식 핸들러를 불러옵니다.

활용 사례

  • 리버스 엔지니어링 과정에서 펌웨어 이미지를 풀어 파일 시스템을 살펴봅니다.
  • 엔트로피 분석 결과를 활용해 바이너리 블롭에서 암호화되거나 압축된 영역을 찾습니다.
  • CI 또는 분석 파이프라인에서 장치 덤프에 포함된 아카이브를 일괄 추출합니다.
  • 사용자 지정 핸들러를 통해 독점 컨테이너 형식 지원을 추가합니다.

빠른 시작

  1. 1

    pip으로 PyPI에서 unblob을 설치합니다

    pip install unblob
  2. 2

    Ubuntu/Debian에 필요한 외부 추출 도구를 설치합니다

    sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4
  3. 3

    모든 추출 도구를 사용할 수 있는지 확인합니다

    unblob --show-external-dependencies
  4. 4

    펌웨어 파일을 추출합니다

    unblob firmware.bin

사용 전 알아둘 점

  • Docker를 사용하지 않는 경우 여러 외부 추출 도구를 별도로 설치해야 합니다.
  • SquashFS를 지원하려면 sasquatch라는 추가 도구를 별도로 설치해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

unblob은(는) 무엇인가요?
78개 이상의 아카이브, 압축 및 파일 시스템 형식에서 파일을 재귀적으로 추출하고 바이너리 블롭에서 알 수 없는 청크를 분리하는 CLI 도구입니다. unblob은 펌웨어 이미지 같은 정체를 알 수 없는 바이너리 블롭을 입력받아 내부에 숨겨진 컨테이너 형식을 찾아냅니다. SquashFS, JFFS2, UBI/UBIFS, ext, CPIO, ZIP, 7-Zip, gzip, XZ, LZMA를 비롯한 알려진 아카이브, 압축 및 파일 시스템 형식을 파싱한 다음, 설정 가능한 깊이까지 내용을 재귀적으로 추출합니다.
unblob은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
unblob은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
unblob은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. unblob의 마지막 커밋은 2026년 11월 5일입니다.
unblob은(는) 어디에 사용할 수 있나요?
리버스 엔지니어링 과정에서 펌웨어 이미지를 풀어 파일 시스템을 살펴봅니다. 엔트로피 분석 결과를 활용해 바이너리 블롭에서 암호화되거나 압축된 영역을 찾습니다. CI 또는 분석 파이프라인에서 장치 덤프에 포함된 아카이브를 일괄 추출합니다. 사용자 지정 핸들러를 통해 독점 컨테이너 형식 지원을 추가합니다.
unblob는 어떻게 설치하나요?
pip으로 PyPI에서 unblob을 설치합니다: pip install unblob Ubuntu/Debian에 필요한 외부 추출 도구를 설치합니다: sudo apt install android-sdk-libsparse-utils e2fsprogs p7zip-full unar zlib1g-dev liblzo2-dev lzop lziprecover libhyperscan-dev zstd lz4 모든 추출 도구를 사용할 수 있는지 확인합니다: unblob --show-external-dependencies 펌웨어 파일을 추출합니다: unblob firmware.bin
unblob은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/onekey-sec/unblob

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

대용량 ZIP, 7z, tar 및 분할 압축 파일을 제자리에서 풀면서 파일을 추출할 때마다 압축 파일 공간을 확보해 필요한 여유 디스크 공간을 줄이는 데스크톱 앱 및 CLI입니다.

2.6천+228 이번 주84RustApache-2.0활발히 관리됨업데이트 그저께