다른 곳에는 1-2일정도 먼저 올렸었는데,이하CSC변경Tool소개국내판갤럭시안드로이드 요즘 사건이 좀많았었죠? 그래서 오늘에야 올립니다 ㅎㅎ
서론
오래간만입니다.
2021년 구글 다이얼러를 통한 CSC 변경툴이 나왔었고
스페셜(BTS/톰브라운/메종마르지엘라/스타워즈) 에디션 펌웨어를 통해 KOO 자급제로 변경이 가능해졌었습니다.
- 관련글 : ONE UI 3.1, 갤럭시 10세대 이상 CSC 자급제변경하기 (에디션 모델이 있는경우)
이후 One UI 4.0/4.1 에서 부분적으로 FYF 툴 혹은 SAMFW 툴을 사용해서 가능해졌었구요
- 관련글 : ONE UI 4.0 이하 CSC 변경 Tool 소개 (안드로이드 9/10 해외판11/12)
2023.03에는 One UI 5.0 / 보안패치 2022-12-01 이하에서 CSC 변경이 나왔었습니다.
- 관련글 : ONE UI 5.0 이하 CSC 변경 Tool 소개 (국내판 갤럭시 안드로이드 10-13)
2023.08 드디어 One UI 5.1 / 보안패치 2023-04-01 이하에서 가능한 CSC 변경법이 나와서 공유해드립니다.
글을 작성하는 현시점(23.08) 기준 One UI 5.1.1 및 보안패치 2023-06-01 이상에선 불가하므로
부트로더가 올라가기전에 다운그레이드를 통하여 진행하시길 바랍니다.
현재 확인한 기기는 : S21, S22, S23, 폴드3, 폴드4 입니다.
보안패치가 2023-04-01 이하인 경우 확인가능한 기기에선 모두 성공하였으며
보안패치 2023-05-01인 경우는... 되는경우 및 안되는경우가 모두 혼재하며 안되는 기기라도 매우 복잡한 방법 (날짜를 돌리고 초기화하고... 이건 일단 안된다고 생각하시면 됩니다.) 을 통해서 되기에 가급적 04-01 보안패치 이전 펌웨어로 다운그레이드 하셔서 시도하시길 바랍니다.
현재 스마트폰의 버전에 따라 "다운그레이드"가 필요할 수 있으며 이는 초기화를 동반하므로
무조건 "백업"을 하고 진행하시길 바랍니다.
유튜브 보고 따라하셔도 되고, 글이 편하신 분은 글읽으시면서 하시면 됩니다.
*갤럭시 S10 및 10세대 계열 One UI 3.1 기기 (A50 등) 참고
- 갤럭시 S10 및 빅스비가 있는 10세대 제품군에서 다운로드 진입방법은 볼륨하+빅스비버튼 + USB 연결입니다.
볼륨상+볼륨하+USB 연결이 안되는경우 볼륨하+빅스비+USB연결로 시도해보시길바랍니다
- CSC PreConfig의 패키지 명 및 액티비티 이름이 One UI 4.0 부터 바뀌었습니다.
One UI 3.1의 10세대 계열 (S10, A50등)제품은 System Shell 2.0 으로 Exploit 진행후 Shell에서 다음 Command를 입력하시길 바랍니다.
am start -n com.samsung.android.cidmanager/.preconfig.PreconfigActivity -a android.provider.Telephony.SECRET_CODE -d secret_code://272837883 --ei type 3
사진은 본문에 추가해두었으니 참고하시고 한줄로 입력하시길 바랍니다.
0. CSC란?
CSC란 Country Specific code 의 약자로
이전에 통신사 마다 모델명을 달리하여 개발하던 때와는 달리 (ex갤럭시 S7 SKT : SM-G930S / KT : SM-G930K )
갤럭시 S8 이후 통신사 모델명이 통합되었고 ( 갤럭시 S8 : SM-G950N )
갤럭시 S9 자급제 모델이 출범함과 동시에 ( 갤럭시 S9 : SM-G960N)
같은 펌웨어 한개에서 CSC를 통하여 통신사별 친화적 정책을 핸들링해주는 "통신사코드" 역할을 하는 것이라고 아시면 됩니다
한국의 통신 3사의 CSC는
SKT : SKC
KT : KTC
LG U+ : LUC
자급제 : KOO로 이루어져있으며
갤럭시 S9 이후로는 한 펌웨어에 모든통신사 정보가 들어있고 CSC값을 읽어서 갤럭시가 초기 세팅을 해주는 만큼
이 CSC가 바뀌게되면 CSC 따라서 그 통신사의 기기처럼 변하게 됩니다.
(물론 IMEI의 값을 바꿀순 없으므로 통신사 전산에는 그대로 뜹니다)
예를 들어 KT로 출시된 갤럭시 S9 (SM-G960N)의 CSC(KTC) 를 SKT CSC (SKC)로 변경을 하고 SK 유심을 끼우면
폰에서는 올레앱이 사라지고 T전화나 T월드 같은 앱이 생겨 SK출시 갤럭시 S9 처럼 보이지만
통신사(SK) 전산에는 여전히 "(KTF) 갤럭시 S9" 와 같이 KT 기기로 인식되어 통신사 특화서비스는 사용불가합니다
그렇다면 왜 CSC변경을 하는 것일까요
보통은
1. 쓸모없는 통신사 어플을 지우기위해 = 자급제 CSC로 변경 (KOO로 변경)
혹은
2. 특정통신사 서비스를 사용하기위해 = Ex) KT 투폰서비스는 KT펌웨에서 작동하므로 KT CSC로 변경 (KTC로 변경)
과 같은 이유가 있겠습니다
3. 교통카드를 사용하기 위해서... 도 있었는데 이제는 해결되었습니다.
CSC를 바꿀시, 각 통신사별 특화서비스는 되는게 있고 안되는게 있으니
(ex. KTC로 CSC를 변경한 갤럭시는 KT 투폰서비스 사용 가능 / SKC로 CSC를 변경한 갤럭시는 SK의 채팅플러스 사용불가)
직접 찾아보시길 바라겠습니다.
1. CSC 변경의 원리
자세한 설명은 XDA의 기사에 잘 나와있습니다만.
- 기사 : This 2019 exploit can still compromise Samsung's latest flagships
요약을 해보자면
보안취약점인 2019 CVE 2019-16253 Exploit 가 존재하며 이미 삼성과 구글에서 패치를 했습니다
허나 어쩐일인지 삼성의 TTS (Text to Speech)앱이 -d (디버깅) 옵션이 활성화 된 채 남아있는 걸 발견 했고
이 옵션을 통해 TTS앱을 이전의 앱으로 (무려 3-4년전) 다운그레이드 할 수 있으며
*통상의 앱은 다운그레이드가 불가하나 디버그 옵션이 켜져있으면 다운그레이드 가능합니다.
TTS 어플 다운그레이드를 통해 2019 CVE 취약점에 접근하여 시스템을 건드릴 수 있는 권한을 얻는 방식입니다.
*OneUI 5.1이상에서는 TTS 다운그레이드가 막혀서 불가하였으나 android.preloadinstaller 를 사용하여 다운그레이드하는방법을 찾아 현재(23.08) 기준 5.1/23-04-01 이하에서 가능하게 되었습니다.
2. CSC 변경을 위한 다운그레이드
위에 간략한 설명을 보셔서 아시겠지만 현재 이 방식은 One UI 5.1 이하에서 작동합니다.
따라서 One UI 5.1 + 보안패치 23-04-01 이하의 펌웨어로 다운그레이드가 필요합니다.
펌웨어 다운그레이드는 Samfw와 오딘을 통해 진행하며
삼성 갤럭시의 경우 같은 부트로더안에서만 다운그레이드 가능합니다.
현재 One UI 5.1.1 업데이트 및 One UI 6.0베타가 이제막 이루어지고 있는 상황이고 (23.08)
One UI 5.0 올라갈때 부트로더가 올라간 기기들이 대부분이라
One UI 5.1 → 5.0 은 보통 부트로더가 유지되는경우가 많습니다
One UI 5.1 or 5.0 / 보안패치 23-04-01 이하 펌웨어로 다운그레이드 진행하시길 바랍니다.
* 다운그레이드에 대한 자세한 설명은 하단의 유투브에 좀 더 상세히 나와 있습니다.
3. CSC 변경툴
현재 사용되는 방법은 XDA wr3cckl3ss1 유저가 개발한 #system_shell_2# 앱 입니다.
편의상 System Shell 2.0이라고 부르겠습니다.
- 원본 Github 링크 : [GitHub - #system_shell_2#]
*해당 앱의 사본(23.08)이 Box에 업로드 되어 있습니다,
Box 다운로드 링크 : CSC change One UI 5.0 & 5.1먼저 System Shell 2.0을 설치합니다
파일은 현재
1. System Shell 2.0 (wr3cckl3ssl-arm64).apk
1-1. System Shell 2.0 (wr3cckl3ssl-v7a_32비트).apk
가 존재하는데
요즈음 나오는 보통의 스마트폰 (중급기 이상)은 64비트 프로세서를 사용하므로
1. System Shell 2.0 (wr3cckl3ssl-arm64).apk 를 설치하면 되나
간혹 보급형 스마트폰에서 32비트 프로세서를 탑재하거나 (Galaxy A13) 64비트 CPU를 탑재하고 32비트 OS를 탑재한 경우가 있습니다. 이러한경우 32비트용인 1-1. System Shell 2.0 (wr3cckl3ssl-v7a_32비트).apk 를 설치합니다
즉 다시 말하면
1. System Shell 2.0 (wr3cckl3ssl-arm64).apk 로 설치 안되는경우에만
1-1. System Shell 2.0 (wr3cckl3ssl-v7a_32비트).apk를 설치하세요
1. System Shell 2.0 (wr3cckl3ssl-arm64).apk가 설치되었다면
1-1. System Shell 2.0 (wr3cckl3ssl-v7a_32비트).apk는 설치할 필요가 없습니다.
이제 2. Shizuku 를 설치합니다
Shizuku 를 설치하는 이유는 On Device ADB를 사용하기 위함이며
Adb 사용할줄 아시는분은 터미널로 사용하셔도 됩니다만
이글에서는 On Device ADB를 다룹니다.
무선디버깅을 시작해야하는데
개발자 옵션이 활성화 되어있어야합니다.
개발자 옵션이 활성화 되어있으면 다음으로 진행하고, 활성화 되어있지 않으면
(사진 다시 찍기 귀찮아서...안 만들고 톰브라운관련 게시글에 있던거 가져온거라...OEM 해제 안하셔도됩니다)
위 사진처럼 설정-휴대전화정보-소프트웨어정보-빌드번호 연타하면 개발자 옵션이 열립니다.
개발자 옵션 들어가서 USB 디버깅을 활성화 합니다.
그리고 무선 디버깅을 활성화합니다.
무선 디버깅의 좌측 영역을 클릭하여 무선디버깅 옵션이 열리면
페어링 코드로 기기페어링을 수행합니다.
위 사진 처럼 페어링을 하고 다시 Shizuku로 돌아가서 시작을 누릅니다.
이제 설치된 System Shell 2.0 으로 로 돌아가서
Shizuku 접근 묻는 창이 뜨면 항상허용을 누릅니다.
그 후HitMe 를 누르면
2019 CVE 취약점 + preinstaller 취약점 을 활용하여 System shell 권한을 획득합니다.
Hit Me 과정은 기기의 사양 및 One UI 버전에 따라 약 1~5분 가량 소요됩니다.
만일 정상적으로 진행이 되었다면
Welcom to #SS2 가 뜨고 이 문구를 누르면 System Shell 2.0이 실행됩니다.
만일 Hit Me 가 되지않는 것은
1) 보안패치로 막혔거나 (One UI 5.1.1 이상, 보안패치 2023-06 월 패치 이상)
2) 위의 어플중 어느 한가지가 제대로 구동되지 않을때
- System Shell 2.0 설치확인
- Shizuku의 실행 및 디버깅상태 확인
해보시길 바랍니다.
참고사항
*현재 One UI 3.1의 S10e / One UI 4.1.1의 폴드4.S22 / One UI 5.0의 S22U / One UI 5.1의 S23U 에서 확인했기에 거의 모든 단말에서 될거라 생각합니다
*One UI 5.1의 경우 최신 보안패치 (2023-06) 받은경우 동작하지 않습니다. 다운그레이드하고 시도하세요
(S23시리즈의 경우 6월 보안패치라면 펌웨어의 부트로더가 이미 U2로 올라가서 다운그레이드가 불가하므로 펌웨어 업그레이드를 받지않은 S23시리즈만 가능합니다)
*One UI 3.1 이하 에서는는 Custom Command를 활용하시길 바랍니다.
CSC Change [Flawless Victory]가 되지 않는경우
Custeom Comman를 넣을수 있는 [Welcom 2 the Term life]를 클릭 하여
다음의 커맨드를 입력합니다. (밑에 사진있으니 참고하세요)
am start -n com.samsung.android.cidmanager/.preconfig.PreconfigActivity -a android.provider.Telephony.SECRET_CODE -d secret_code://272837883 --ei type 3 를 입력
*당연하게도 통신사고유단말 (Ex. KT전용 갤럭시 진 / SK전용 갤럭시 퀀텀) 등에서는 CSC 선택이 불가합니다.
Band Selection이 One UI 5.0/5.1부터 막혔는데 위 CVE 취약점으로 인해 다시 접근 가능해졌고 [Bands Bands Bands] (사실 해외판은 막혔지만 국내판은 히든메뉴에서 볼 수 있긴합니다.)
우리가 원하는 Change CSC가 중간에 보입니다 [Flawless Victory]
해당버튼을 누르면 Pre config가 켜집니다.
SKT 는 SKC를
KT 는 KTC를
LG U+ 는 LUC를
자급제를 원하시는분은 KOO를 선택하시고 Install을 누르시면 됩니다.
install 과 함께 초기화 되므로 백업을 하시고 진행하시길 바랍니다.
WWD는 전시용단말 CSC입니다. 해당 CSC 선택시 소프트웨어 업데이트가 되지 않으며
전시용 CSC라 통신에 일부 문제가 발생하므로 선택하지 마세요
만일 Preconfig가 안켜지는경우 (One UI 3.1 이하) 다읨의 Custom Command 를 입력합니다.
am start -n com.samsung.android.cidmanager/.preconfig.PreconfigActivity -a android.provider.Telephony.SECRET_CODE -d secret_code://272837883 --ei type 3
Enter 없습니다. 위 내용 그대로 복사해서 붙여넣으세요, 잘 입력했다면 Preconfig가 켜집니다.
(One UI 3.1 단말은 이전게시글의 Samsung Toolkit 사용해도 무방합니다)
4. 마치며
S20때 구글다이얼러로 손쉽게 바꾸던 이후로
드디어 무료로 자유로운 CSC 변경이 가능해졌습니다.
이전 폴드3,노트10+ 등의 경우 에디션을 통한 자급제 강제 (KOO)이기도 했고 에디션이 없는 제품에는 사용할 수 없어 아쉬웠던 찰나에
올해 2023.01말 보안취약점과 이를 바탕으로 한 툴 개발이 이루어져 CSC 변경이 가능하게되었고
해당 TTS 취약점이 One UI 5.0 + 2023-01-01 보안패치부터 패치되었으나
다시금 다운그레이드 취약점을 찾아서
이글을 쓰는 현시점(23.08) 기준
One UI 5.1 / 2023-04-01 보안패치까지 CSC 변경이 가능해졌습니다.
CSC변경은 보안취약점으로 부터 나오는 것이므로 보안과 양립관계에 있습니다.
CSC변경을 시행하시고 다시 바꿀 의향이 없다면 최신 업데이트를 진행하시길 바랍니다.
읽어주셔서 감사합니다.
해당 내용은 아래의 유튜브에서 좀 더 자세한 설명과 함께 작동예시를 볼 수 있습니다.