안드로이드 펌웨어 이미지

안드로이드 펌웨어 이미지

2025년 1월 13일

ref #

XDA - 삼성 펌웨어 관련 정리 글
XDA - PIT Magic
exynos-9820 tzar 리버싱, 언팩

구글 #

Pixel 2XL (AOS 9) #

이미지 구조를 보면 최상단에 bootloader와 radio가 있고, zip 파일 내부에 boot.img, system.img 등의 파일이 있는 것이 보인다.

ae33526a-d43a-47dc-817e-6bffe3126fa6

스크립트를 보면 일단 bootloader.img 를 bootloader 파티션에 플래시 하는데 이 파일이 BootROM이 SRAM에 올려주는 1차, 2차 부트로더(LK, uboot 등)의 코드이다.

radio는 무선 모뎀 펌웨어이고 부팅과정에서 별로 중요하진 않다.

zip 파일은 AOSP OS의 이미지이며, update 명령으로 각각에 맞는 파티션에 알아서 플래시한다.

  • boot.img : 커널(zImage)과 램디스크(initramfs)가 포함된 이미지이고, boot 파티션에 플래시된다.
  • system.img, vendor.img 등 : /system, /vendor 등의 파티션에 플래시되며 OS의 라이브러리, 앱 등 대규모 파일들이 들어있다.
1fastboot flash bootloader bootloader-taimen-tmz20r.img
2fastboot reboot-bootloader
3ping -n 5 127.0.0.1 >nul
4fastboot flash radio radio-taimen-g8998-00008-1902121845.img
5fastboot reboot-bootloader
6ping -n 5 127.0.0.1 >nul
7fastboot -w update image-taimen-pq3a.190801.002.zip

삼성 #

펌웨어 관련 추가 정보 #

펌웨어 세부 정보 #

4c4a599c-4401-40ba-bdb6-c12f3328f5d0

삼성은 부트로더 버전(U6)이 올라가면 부트로더에서 Anti-Downgrade 보호가 되어있기 때문에 취약점을 찾지 않는 이상 내리기 어려워서 주의해야한다.

펌웨어 파일 #

펌웨어 파일을 다운받으면 BL, AP, CP, CSC, HOME_CSC 로 시작하는 압축파일들을 볼 수 있다.

  • BL (BootLoader) : 부트로더 관련파일이 포함된 압축파일
  • AP (Application Processor) : 가장 큰 파일이며 안드로이드 OS의 시스템 파티션, TEE, 리커버리, 부트이미지(커널+램디스크) 등이 포함된 파일이다.
  • CP (Core Processor) : 모뎀 파일이 포함되어 있다.
  • CSC (Consumer Software Customisation) : 국가나 통신사별로 달라지는 설정 파일이 포함된다. PIT가 포함되어 이 정보에 맞춰 다시 파티셔닝 하면서 플래시 되기 때문에 플래시 후 기기가 초기화된다.
    • PIT (Partition Information Table) : 기기 내부 파티션이 어떻게 나뉘어져 있는지, 오프셋, 사이즈, 읽기쓰기 플래그 등에 대한 정보가 포함된다.
  • HOME_CSC : 데이터를 유지하면서 업데이트할 때 사용한다.

펌웨어 플래시 방법 #

전원을 끈 상태에서 볼륨 상하 버튼을 누르고 usb 케이블을 연결하면 다운로드 모드로 진입한다.
TWRP에서 각 모드로 reboot 하면 모드전환이 안되는 경우가 있는데, 이 방법으로 다운로드 모드 진입이 가능하다.

3f73997f-2c3e-4b5b-aad1-5abc8a901e12


A51 - A516N (AOS 13) #

https://samfw.com/firmware/SM-A516N/KTC/A516NKSU6FWF2
https://namu.wiki/w/%EA%B0%A4%EB%9F%AD%EC%8B%9C%20A51%205G

  • SoC : 삼성 엑시노스 900 Series (980)
  • TEE : TEEgris

BL #

a4f29528-6e75-4902-9872-381a8835dc53

  • tzar.img (tzar) : TEEGRIS의 root filesystem 이다. TEE에서 실행되는 각종 서비스, TA에서도 사용하는 라이브러리가 포함되어 있으며, TA를 검증하고 실행하는 root_task 바이너리도 포함되어 있다.
  • tzsw.img (tzsw) :
    1PS D:\SAMFW.COM_SM-A516N_KTC_A516NKSU6FWF2_fac> strings .\tzsw.img.lz4 | findstr tee
    2teegris
    

AP #


Docomo A22 - SC-56B (AOS 12) #

https://samfw.com/firmware/SC-56B/DCM/SC56BOMU1BVF1
https://namu.wiki/w/%EA%B0%A4%EB%9F%AD%EC%8B%9C%20%EB%B2%84%EB%94%94

  • SoC : 미디어텍 MT6833 Dimenstiy 700 5G
  • TEE : TEEgris

BL #

  • up_param.bin (up_param) :
  • lk-verified.img (lk) : 리틀커널

AP #

  • tzar.img (tzar) : TEEGRIS의 root filesystem 이다. TEE에서 실행되는 각종 서비스, TA에서도 사용하는 라이브러리가 포함되어 있으며, TA를 검증하고 실행하는 root_task 바이너리도 포함되어 있다.
  • tee-verified.img (tee1) :

A8 2018 - A530N (AOS 9) #

https://samfw.com/firmware/SM-A530N/KTC/A530NKSU9CUI1
https://namu.wiki/w/%EA%B0%A4%EB%9F%AD%EC%8B%9C%20A8(2018)

  • SoC : 삼성 엑시노스 7 Series (7885)
  • TEE : trustonic

BL #

e0d53af0-570e-4bfd-bf64-42af8ba8babc

  • sboot.bin :
    1PS D:\SAMFW.COM_SM-A530N_KTC_A530NKSU9CUI1_fac> strings .\sboot.bin.lz4 | findstr tee
    2tee
    3gpd.tee.apiversion
    4com.trustonic.tee-config.CfgBlockPointer
    5tee_storage/sth2_interaction.c
    
comments powered by Disqus