최근 수정 시각 : 2024-12-16 14:03:51

Odin


파일:다른 뜻 아이콘.svg  
은(는) 여기로 연결됩니다.
다른 뜻에 대한 내용은 아래 문서를 참고하십시오.
  • 안드로이드 기반 게임기: AYN
  • 前 Gen.G 리그 오브 레전드 코치: 주영달
  • Noizenecio가 작곡한 BEMANI의 수록곡: Odin(BEMANI 시리즈)
  • DJ Genki가 Gram 명의로 작곡한 2집 앨범 및 WACCA의 수록곡: Odin(Gram)
파일:오딘3.png
오딘 3.11의 모습[1]
파일:오딘1.85.png
오딘 1.85의 모습

1. 개요2. 특징3. 기능4. 버전5. 사용법6. 펌웨어 구성 요소7. 대체 소프트웨어8. 출처불명 주의

1. 개요

삼성전자 안드로이드 스마트폰의 펌웨어 설치 프로그램. Windows 전용 소프트웨어이며 프로그램과 펌웨어 파일이 있으면 소프트웨어 이상 상태에 빠진 기기를 복구할 수 있다.

2. 특징

원래는 삼성전자 서비스센터 전용 프로그램으로 사용되던 것이었다. 삼성 KNOX SDK나 내부 내부 문서에서도 엔지니어링 펌웨어(engineering firmware)로 언급된다. 그런데 어떤 이유인지 외부로 유출되었다. 서비스센터에서는 2012년부터 smart 툴을 사용하고 있지만 기존 Odin도 잘만 호환된다고 한다.

이게 순정 펌웨어만 설치되는 게 아니라 루팅 펌웨어와 커스텀 리커버리를 설치할 수 있기 때문에 삼성전자와 관련된 공돌이들은 거의 항상 이걸 들고 다닌다.

삼성전자 공식 소프트웨어가 탑재된 기기에서만 사용할 수 있다.[2]

Smart Switch가 실행되어 있다면 오딘과 충돌해서 오작동될 수도 있기 때문에 작업 전에 Smart Switch를 종료한 후 작업하는 것을 추천한다.

오딘을 사용해 커스텀 바이너리 등을 설치하여 Knox Warranty 무효 비트가 1(엑시노스 계열) 또는 0x01(스냅드래곤 계열)로 올라가면 삼성 페이 등의 Knox와 관련된 기능을 사용할 수 없으며 Knox 관련 기능을 다시 사용하기 위해서는 보증 기간이 지나지 않았더라도 메인보드를 유상으로 교체해야 하지만 Knox 관련 부분을 제외한 나머지는 보증 기간 내 무상 수리가 가능하다.

3. 기능

  • 벽돌 복구, 순정 펌웨어 재설치
    • 루팅을 하거나 커스텀 롬 설치, 시스템 수정 등등의 행동을 하다가 실패하여 펌웨어가 꼬이거나 벽돌이 된 경우 펌웨어 재설치가 필요한 경우 순정 펌웨어를 플래싱하여 디바이스를 복구할 수 있다.
은 녹스 워런티 깨짐 없이 통신사 펌웨어 변경이 가능하다. 글로벌과 한국 내수용 디바이스의 스펙(AP 등)이 같아야 가능하다. 모델명이 통일된 갤럭시 S8부터는 펌웨어만으로는 CSC 변경이 불가능하고 SamKey 등의 CSC 변경 프로그램을 이용해 CSC를 바꿔야 한다.[3][4]
  • 펌웨어 업그레이드 다운그레이드
    • 펌웨어 파일이 있다면 펌웨어를 업그레이드하거나 다운그레이드할 수도 있다. 만약 다운그레이드를 하게 된다면 공장초기화를 해야 한다. 단, 다운그레이드는 아무 경우나 가능한 것이 아니며 부트로더 버전[6]이 같은 버전이어야만 오딘으로 다운그레이드가 가능하다. 부트로더 버전이 더 낮은 버전인 펌웨어로 다운그레이드를 하고자 한다면 오딘만으로는 불가능하다. Team Win Recovery Project 등을 설치하거나 펌웨어 파일에서 부트로더 관련 항목을 삭제한다면 부트로더 버전과 무관하게 다운그레이드를 할 수는 있겠지만 이 경우 당연히 Knox가 깨진다. 일부 기종은 OEM 잠금해제(부트로더 언락되는 경우가 있는 걸로 추정)도 막혀 다운그레이드하지 못하도록 아주 철저히 막아 놓은것도 있다.
  • 디바이스 초기화
    • AP, BL, CP, CSC, USERDATA 이 5개가 있는 초기화 펌웨어를 오딘에 플래싱하면 기기의 펌웨어가 재설치되며 기기가 초기화된다. 이러한 초기화는 일반적인 디바이스 자체 초기화(안드로이드 설정>초기화 또는 리커버리 메뉴>초기화)와는 다른 양상을 보이는데 기기 자체 초기화는 OS 영역을 둔 채 나머지 삭제가능한 영역과 컨텐츠를 모두 비워내는 반면, 오딘과 Smart Switch 초기화를 통해 초기화를 하게 되면 공장 출고 시 펌웨어 영역 밖에 삭제 가능한 상태로 선탑재되는 제조사 · 통신사 앱, 미디어 콘텐츠(선탑재 음악 · 영상 등이 존재하는 경우)를 포함하여 단말기 대부분의 영역에 걸쳐 통째로 플래싱해주기 때문에 공장 출고 시(제품 구매 시) 상태에 보다 가깝게 초기화할 수 있다. 단말기의 모든 영역을 다시 플래싱하기 때문에 금융앱 등에서 서비스센터를 통한 초기화 안내(루팅감지) 등의 오류의 상당수도 이 방식으로 센터 방문없이 직접 셀프 해결할 수 있다. 물론 당연히 SW 차원이 아닌 메인보드 HW 차원에서 뻑간 KNOX가 살아돌아오는 것은 아니다.
  • 커스텀 리커버리 설치
    • 루팅 또는 커스텀 펌웨어를 설치할 목적으로 순정 리커버리가 아닌 커스텀 리커버리( Team Win Recovery Project, CWM, PhilZ Touch 등등)를 설치할 수 있다. 이 경우 Knox가 깨진다.
  • 파티션 재설정
    • .PIT 파일이 있다면 내장 메모리의 파티션을 재설정할 수 있다.

4. 버전

버전 다운로드 비고
1.00 갤럭시 A 전용
1.30
1.32
1.52
1.61
1.7
1.81
1.82
1.83
1.85 링크 아카이브
1.86
1.87
2.10
3.04
3.06
3.07
3.09.3
3.09.5
3.10 XDA
3.10.5 XDA→네이버 블로그
3.10.6 XDA→네이버 블로그
3.10.7 XDA 마시멜로 (6.0) 업데이트 지원 [7]
3.11.1 XDA→네이버 블로그
3.11.2
3.12.0 7.0 까지 지원
3.12.3 XDA→네이버 블로그
3.12.4
3.12.5
3.12.7
3.12.10 누가 (7.1) 업데이트 지원
3.13.1 XDA
( XDA 3.13.1)
오레오 (8.1) 업데이트 지원[8]
3.13.3
3.14.1 최신 버전

5. 사용법

  • 프로그램과 설치할 펌웨어를 준비한다. 펌웨어 파일을 압축해서 공유하는 사이트도 있는데[9] 압축 해제하면 다음과 같은 파일을 얻게 된다.
  • BL (부트로더 파일)[10]
  • AP (시스템 및 리커버리 파일)[11]
  • CP (통신 모뎀 파일)[12]
  • CSC 또는 HOME_CSC (지역 및 통신사 코드 파일)
  • USERDATA (USERDATA 선탑재 파일[13])

오딘을 열고 오른쪽에 파일 선택 버튼 중에서 차례대로 선택해 주면 된다. 단, 커스텀 펌웨어 상태에서 순정 펌웨어로로 돌아가는 경우 HOME_CSC 대신 CSC를 CSC 버튼에 선택 해준다.[주의사항]

다른 초 간단한 방법도 하나 있는데 이 BL AP CP CSC (USERDATA) 4~5개의 파일을 탐색기에서 다중선택 후 프로그램으로 드래그해서 넣어주면 알아서 4~5개 모두 프로그램에 척척 올려준다(!)

폰을 다운로드 모드[15]로 부팅한다. 거의 대부분 전원 + 홈 버튼 + 볼륨 하 키[16][17]를 동시에 누르면서 부팅하면 경고 화면이 뜨는데 이때 볼륨 상 키를 누르면 다운로드 모드로 진입한다. 컴퓨터와 연결한 후 F. Reset Time과 Auto-Reboot가 선택되어 있는지 확인한 후 플래시를 시작하면 된다.[18]

만약 설치 중 오류가 발생하면 다른 케이블[19]을 사용해 보거나 컴퓨터 뒷면에 연결을 시도하거나 기기가 지원하는 오딘 버전을 사용하는지 확인하자(위 문단 참고).

참고로 오래된 펌웨어는 압축파일을 해제했을 때 BL, AP, CP, CSC 등 여러 개가 나오지 않고 1개(HOME)로 통합되어 있는 경우가 있다. 이럴 경우 그냥 AP에 넣고 플래싱 하면 된다. 그렇지만 이 시기의 펌웨어도 공초 펌웨어는 4개의 개별 파일과 HOME_CSC가 아닌 CSC 파일도 포함하고 있어 이를 통해 완전히 플래싱 및 초기화를 할 수 있다. 삼성 서버에서 아직까지 다운로드를 지원하는 펌웨어의 경우 Binary Nature 옵션을 주고 다운로드를 하게 되면 공초 펌웨어를 얻을 수 있다.

이는 시간이 흐르면서 펌웨어 파일이 비대해지다 보니 세분화하면서 서서히 펌웨어 파일이 하나씩 분리된 것으로 추정된다. 실제로 BL + AP + CP + CSC (+ USERDATA) 조합은 초창기부터 변화 없이 쭉 이어져 왔다. WiFi만 지원하는 태블릿 모델은 모뎀이 없으므로 모뎀 쪽 펌웨어인 CP가 없는 게 정상이다.

6. 펌웨어 구성 요소

처음에는 일반 업그레이드 펌웨어의 경우 이 BL + AP + CP + CSC 를 모두 묶어 HOME 펌웨어 파일로 나온 것이고 이후 용량이 증가하면서 BL + AP + CP + CSC 로 분리(세분화), 이후 샘플(USERDATA) 영역이 무시 못할 정도로 증가하자 이 부분도 AP 파일에 묶여 있다가 별도로 분리되었다.

실제로 펌웨어 파일 내 구성 파일을 확인해 보면 단일(HOME)부터 BL + AP + CP + CSC (+ USERDATA) 까지 구성 요소는 거의 동일하다.

오레오에서 펌웨어 파일을 img 에서 img.lz4 형태로 압축하기 시작하면서 용량이 소폭 하락하였다.

OS 및 어플리케이션도 세대를 거듭할수록 용량이 점점 커져 가고 있기 때문에 현재에 이르러서는 USERDATA 부분만 하더라도 1GB를 우습게 넘고 있다.
  • BL
    • cm
    • param (부트로고 파일이 들어있는 파일)
    • sboot (스냅드레곤 기기는 aboot,미디어텍 기기는 mboot)
    • up_param(특정 세대 이후부터 탑재)
  • AP
    • boot
    • recovery
    • system (S21 이후부터 super)
    • (userdata)(특정 세대 이후부터 분리)
  • CP
    • modem (기저대역버전이 들어있는 파일)
    • modem_debug
  • CSC
    • cache
    • PIT
    • (hidden) (Over the horizon 선탑재를 위해 만들어진 파티션)
    • omr(특정 세대 이후부터 탑재)
  • HOME_CSC
    • cache
    • (hidden)
  • USERDATA(특정 세대 이후부터 AP에서 분리됨)
    • cache
    • userdata
  • (공통)
    • meta-data\download-list.txt(특정 시기 이후부터 탑재)

플래싱을 할 때 실제로 플래싱하는 부분에 따라 위에서 나열된 문자열들이 순차적으로 표시되며 플래싱이 진행되는 것을 볼 수 있다.

OS 주요 부분은 AP(system)에 들어 있기 때문에 AP 파일 용량이 독보적으로 크다. Odin은 펌웨어 파일을 불러올 때마다 나름대로의 검증을 거치는데[20] 여기에 용량이 가장 큰 AP 파일을 불러오다 보면 프로그램 상 waiting 이 구현되지 않아 너무나도 정직하게 ‘응답 없음’이 되어 버린다. 그러나 응답이 길어지면서 멈춘 것처럼 표시되는 것일 뿐이므로 건드리지 말고 기다리다보면 로딩이 완료된다.

사실 (대략적으로[21]) 이러한 형태(네이밍)의 펌웨어 구성은 Windows Mobile 옴니아 시절부터 이미 존재했을 만큼 유서 깊은 방식이다. (BOOTLOADER + PDA + PHONE + CSC)

7. 대체 소프트웨어

Windows 전용 소프트웨어라는 점[22], 사용법이 잘 알려지지 않은 유출된 삼성 내부 소프트웨어라는 점, 비교적 불안정하다는 점 때문에 Heimdall[23]이라는 크로스 플랫폼 오픈소스 대체 소프트웨어가 개발되었다. 공식 링크 기능 자체는 Odin과 대동소이하지만 오픈소스라는 점, libusb라는 오픈소스 USB 라이브러리를 사용한다는 점, macOS Linux를 지원한다는 점, 그리고 GUI 없이 명령줄에서도 직접 실행할 수 있다는 차이점이 있다.

그러나 Heimdall은 오랫동안 개발이 사실상 중단되어 있다는 것이 큰 문제점이다. Github의 변경사항들을 보면 2021년 3월 이후 개발이 사실상 정지되어 있으며 위에 있는 링크에서도 공식적으로 테스트된 가장 최신 기종이 갤럭시 S4라고 밝히는 등 최신 기기가 사용하기에는 부적합하다. 이 때문에 Lineage OS 팀에서 최신 기종에 맞게 직접 수정한 버전 배포하고 있지만 롬 설치 매뉴얼에서는 커스텀 리커버리 설치 시에만 Heimdall을 사용하도록 유도하는 것으로 보아 기능에 한계가 있는 것으로 추정된다.

xda-developers의 유명 개발자 ChainFire가 개발한 모바일 오딘이라는 애플리케이션도 있었는데 기능은 이름 그대로 휴대폰에서 직접 펌웨어를 설치하는 것이다. 루팅된 기기에서만 사용 가능했으며 이 쪽도 개발이 중단되어 갤럭시 S5 및 이전 기기들만 지원한다.

8. 출처불명 주의

2024년 4월 1일 기준으로 최신 버전이 3.14.4라며 우후죽순 웹페이지가 만들어져 떠돌아다니고 있지만 이는 출처불명(?)이다. XDA 포럼에서 최신 버전으로 여겨지는 것은 3.14.1 버전이며 이 스레드에서 다운로드받을 수 있다. 그러나 대부분의 사용자들이 이 버전을 사용하고 있고, 문제가 보고된 바가 거의 없어 진위여부는 불명이다.
주의 #1 - 리디렉션 링크 및 기타 오해의 소지가 있는 주장 및 변경 사항이 포함된 스톡/모드/패치 사본이 인터넷에 많이 떠돌고 있습니다. 아래의 XDA 링크는 깨끗한 원본과 원본 3B 파일을 얻을 수 있는 유일한 소스입니다.

주의 #2 - 모든 v3.14.4는 사기/가짜 버전의 odin입니다. 버전 3.14.1은 파일 크기가 동일합니다(리소스 변경으로 인해 크기가 다른 변종도 하나 있습니다). 모두 3.14.4를 표시하기 위해 내부 리소스가 수정되었습니다. 종종 알려진 클라우드 기반 클라이언트-서버 통신 dll(cpprest141_2_10.dll)을 포함합니다. 피하는 것이 좋습니다. 3.14.1에 비해 추가 기능이 추가되지 않았습니다. 자세한 내용은 이 게시물을 참조하세요.
Patched Odin 3.13.1 | XDA Forums
Q: 제 오딘 3.14.4가 해킹당했나요?

안타깝게도 이 버전의 Odin을 사용하여 S10+에서 일부 펌웨어를 플래시하려고 했는데 이것이 어떤 유형의 해킹인지 알고 싶어요. 제가 괜찮은 걸까요? XDA 개발자의 몇몇 포럼에서 "이것은 다른 스레드에 게시되었으며 다음과 같은 파일을 포함합니다: cpprest141_2_10.dll

주의 #2 - 최신 3.14.4 버전의 odin이 떠돌고 있습니다. 해킹된 3.14.1 버전(파일 크기는 동일)으로 보이며, 내부 수정 사항이 있고 알려진 클라우드 기반 클라이언트-서버 통신 dll(cpprest141_2_10.dll)이 포함되어 있습니다! 피하는 것이 좋습니다."

실제로 폴더를 확인해보니 "cpprest141_2_10.dll" 파일이 포함되어 있었습니다!
A: 아니요, 그 파일이 있으면 안 됩니다.

이 사이트(https://technastic.com/odin-download-samsung-latest-all-versions/)에서 "원본" 버전을 찾았는데 XDA의 누군가에게 크레딧을 주더군요. "최신 비동기 C API 디자인을 사용하는 네이티브 코드의 클라우드 기반 클라이언트-서버 통신을 위한 Microsoft 프로젝트"인 "cpprest141_2_10.dll" 파일은 없습니다. Odin에는 그런 것이 전혀 필요하지 않습니다.

odin3.ini 파일을 확인하면 "Title" 변수가 일부 사이트로 설정된 것을 볼 수 있습니다(예: 지금까지 본 것에서 "SAMTool.Org", "odin-samsung.com", "odindownloader.com" 또는 "HardReset.info"). 이 모든 것이 좋지 않은 것 같습니다. 원본에는 "odin"이라고만 적혀있는 것 같습니다.

항상 odin3 창의 왼쪽 하단을 확인하세요. 링크가 있고 거의 모든 사이트가 자신의 사이트 또는 일부 멀웨어 사이트로 변경하는 것을 좋아합니다. "http://mobilerndhub.sec.samsung.net/hub/site/odin/"가 아닌 다른 것이라면 제 계산으로는 가짜입니다.
Is Odin 3.14.4 Hacked? | XDA Forums

오딘은 공식적으로 제공하는 것이 아니라 유출된 판본을 기반으로 커뮤니티 차원에서 필요할 때 마다(전술된 오레오 OS 이상 img.lz4 적용 사례 등) 변경점을 살짝 수정하여 게시하고 있으므로 XDA 등 어느 정도 신뢰 가능한 커뮤니티에서 제공되는 것을 사용하는 것이 그나마 낫다. 그 외의 판본은 출처와 정도에 따라 악성 변조된 소프트웨어로 의심되는 판본까지 돌아다니는 실정이다. 제일 좋은 방법은 구글 검색창에 odin + xda 검색어로 검색하면 구글이 알아서 최적의 게시물을 가장 위에 보여주니 그걸 클릭해서 들어가면 된다.

이러한 출처불명의 악성 의심 소프트웨어는 사실 어느 소프트웨어에서나 모두 동일하게 나타나는 것이지만 특히 오딘처럼 공식 출처(경로)가 없는 상황에서는 분간이 쉽지 않다는 문제가 있다. 위 게시물에 나온 사이트 이름은 대부분 삼성 순정 펌웨어 공유 사이트나 삼성 기기 관련 정보 커뮤니티 사이트지만, 유비무환이라는 말이 있듯이 안전한 사이트에서 받는 것이 좋다.설령 title에 아무것도 적혀있지 않더라도, 지워주는 게 맘 편할 것이다.
[1] 스크린샷의 Ttechbeasts.com 이라는 문자열도 아래의 설명과 같이 다른 출처 등을 거쳤기 때문이며, XDA 포럼 등의 출처에서 바로 입수한 파일에는 이러한 문자열이 없고 프로그램 창 하단부에 ‘Odin Community : http://mobilerndhub.sec.samsung.net/hub/site/odin/’ 이라는 삼성 사내 오딘 커뮤니티로 추정되는 문자열과 링크(외부에서 접속 불가)까지 그대로 유지되어 있다. [2] 예외로 구글 넥서스 시리즈에 해당하는 넥서스 S와 갤럭시 넥서스, 기어S 같은 타이젠 기반 스마트워치 등은 오딘을 사용할 수 있다. [3] SK텔레콤은 SKC/SKT, KT는 KTC/KTF, LG U+는 LUC/LGT, 단말기 자급제는 KOO다. [4] 하지만 갤럭시 Z 플립은 4G 모델인 SM-F700N 한정으로 SamKey 없이 펌웨어 플래싱 2번만 하면 자급제로 바뀐다. 순서는 톰 브라운 에디션 공식펌웨어 플래싱 → 공장 초기화 → 자급제 공식 펌웨어 플래싱(USERDATA는 제외. USERDATA를 플래싱시 통신사향 펌웨어로 복구되는 경우 있음)이다. 갤럭시 Z 폴드2, 갤럭시 Z 플립3, 갤럭시 Z 폴드3도 가능하다. [5] S9부터는 타국가의 CSC 국내 CSC로 변경하기만해도 국내용 삼성 페이를 사용할수가 없다. [6] 부트로더 버전은 펌웨어 이름에서, 왼쪽부터 6번째 자리 이상에 있는 U 또는 S의 바로 다음 숫자로 확인할 수 있다. 예를 들어 펌웨어 버전 표기가 G955NKSU3CRI3 라면, U 뒤의 3이 바로 부트로더의 버전이다. 다수의 웹사이트에서는 3이 아니라 U3이 부트로더 버전이라고 잘못 소개하고 있다. U는 Update의 머릿글자이며 S는 Security의 머릿글자일 뿐이므로 참고. [7] 마시멜로로 업데이트하려는 경우 3.10.7 이상을 사용해야만 한다. 만약 이전 버전을 사용할 경우 업데이트 중에 멈춘다. [8] 참고로 3.13.1 미만 버전에서 오레오 OS를 설치할 경우 설치가 아예 안 된다. 왜냐면 오레오부터는 펌웨어 압축 파일 안에 들어있는 파일들의 압축 형식이 img에서 img.lz4로 바뀌었는데 구 버전 오딘은 lz4 확장자를 지원하지 못해서 설치가 안 되기 때문이다. [9] samfw.com [10] 구 버전은 BOOTLOADER. [11] 구 버전은 PDA. [12] 구 버전은 PHONE. [13] 시스템(펌웨어) 영역 밖 유저 데이터 영역에 삭제 가능한 상태로 선탑재 되는 샘플 미디어 및 앱. 삭제 가능한 상태가 포인트이며 그렇기 때문에 USERDATA 영역에 별도로 플래싱하게 된다. [주의사항] HOME_CSC는 기존 자료를 보존하고 (데이터 파티션) CSC는 아예 순정으로 복귀하면서 파티션을 모조리 포맷한다. 차이점이라면 PIT을 통해 파티션 및 초기화를 하냐 안 하냐의 여부다. 실제로 펌웨어 파일 내 PIT 파일의 존재 유 · 무라는 차이점이 존재한다. 단, 다운그레이드를 진행할 경우 HOME_CSC가 아닌 CSC를 사용해야 한다. HOME_CSC를 사용할 경우 사용자가 직접 파티션을 초기화해야 하는 불편함이 생길 수도 있고 기기 파티션이 초기화되지 않아 시스템이 꼬이는 문제점이 발생해 무한 부팅에 빠질 수 있다. [15] 기기에 따라 부트로더 모드라고도 한다. [16] 홈 버튼이 없는 경우 전원 키(기능 키) + 볼륨 상 키 [17] 빅스비가 있는 경우 전원키 + 빅스비키 +볼륨 상 키 [18] 커스텀 펌웨어를 설치하기 위해 커스텀 리커버리를 플래싱하는 경우 Auto-Reboot을 선택 해제해야 한다. 그래야만 만일에 대비하여 부트로더 잠금을 성공적으로 할 수 있다. [19] 제조사 정품 케이블 권장 [20] tar.md5에서 .md5 부분을 떼고 .tar 만 남기면 검증을 건너뛴다. [21] 디테일한 구성 요소는 세대가 지날 수록 늘어나거나 세분화된다. [22] 안드로이드 개발자 중에는 리눅스 계열 OS 사용자가 많은 편이다. [23] 이름을 보면 알겠지만 오딘과 마찬가지로 북유럽 신화의 신에서 이름을 따 온 것이다.