요약
- 커스텀 롬 설치는 왠만하면 시작하지 맙시다.
- 일단 시작하면 하루 이틀은 그냥 사라지고, 머리가 복잡해지며 Knox가 깨진 스마트폰이 남게 됩니다. 순정 펌웨어를 올려도 원래대로 영원히 복구가 안되는 몇 가지가 있기 때문입니다.
- 착한 오픈소스들이라 믿고 있지만, 위험이 없다고 말할 수는 없겠습니다.
- 예상치 못하게 일부 안되는 앱이 있겠지만 노트9에서 최신 OS를 쓰는데 특별히 느린 느낌이 없고 갤럭시S22의 AI기능들을 써볼 수 있어서 만족스럽기는 합니다. 일단, 금융 앱들은 보안폴더 + Magisk(Shamiko모듈 등등) DenyList설정으로 (현재 시점)작동이 되고, 삼성계열 소프트웨어는 삼성페이/패스 제외하고 KnoxPatch를 통해 작동되는 편입니다.
- 빅스비버튼은 제미나이에 (자동으로???) 연결되고, 전원버튼이 빅스비 버튼으로 작동합니다. 제미나이 Advanced를 구독했어서일까요? 음성입력 대기 및 Live화면공유 메뉴도 뜹니다. 다만, Gemini앱을 별도로 실행하면 실행이 안됩니다(PlayStore 미연결 오류).
올리게 된 사연
갤럭시 노트는 안드로이드 10에 멈추어 있는데 가벼운 사용에는 거의 불편이 없어서 바꾸지 않고 사용 중입니다. 그러던 차에 픽셀OS 14를 써보려고 커스텀 롬 교체 작업을 시작했습니다만, 결국 AI 기능이 추가된 정도인 삼성 정품 펌웨어 수준인 노블롬을 올리게 되었습니다.
그 이유는 안드로이드 14는 어떤가 궁금하기도 하고, AI 기능도 써보기 위해서 입니다.
- 커스텀롬 작업이나 루팅을 위해 TWRP/Magisk를 올리는 순간 Knox가 깨지는데, 삼성페이나 삼성패스는 영원히 사용 불능인 것도 문제이긴 하지만, 픽셀롬 상태에서는 카카오뱅크 등 은행 앱들도 안되는 것이 큰 문제였습니다. Shamiko를 통해 된다는 이야기도 있습니다만...
- 어쨌든 Magisk라는 도구와 Shamiko 모듈, 녹스 제공 보안 폴더 조합으로 은행 앱을 사용할 수 있다는 글을 보고 Knox가 그나마 남아 있는 노블롬을 올리게 되었습니다. 녹스가 있어야 보안 폴더를 만들 수 있고, 그 안에서 은행 앱을 실행해야 정상 작동하더군요. =>
하루 지나고 Magisk 최신 업데이트 후 안됩니다.=> 안된 이유는 앱/모듈 간의 버전 불일치 때문이었습니다.
워낙 오랜만에 TWRP로 작업하게 되었서인지 좀 헤맸습니다.
- 노트9의 경우 볼륨 올리기 + 빅스비키 + 전원키 조합인데, 볼륨 내리기(다른 삼성 기종의 경우)를 누르느라...
- TWRP도 기종에 맞게 잘 골라야 한다든지...
- Odin으로 TWRP를 업로드한 후 TWRP화면이 잘 안나온다든지...
- TWRP 작업 중에 Reboot를 누를 때 TWRP의 메인 메뉴로 빠져 나가서 Recovery를 선택해야 할 경우와 바로 리부팅해야할 경우를 구별해야 편하다든지...
경고: 본 작업은 스마트폰을 손상시킬 수도 있고 자료를 잃어버릴 수도 있고 해결될 때까지 외부와 통신이 두절되는 등 문제의 소지가 많습니다. 반드시 이 점을 염두에 두고 작업을 해야 하며, 본 글의 오류로 인해 따라하다가 생기는 문제는 책임지지 않습니다. 더구나 루팅된 폰의 보안 위험성은 말할 필요도 없겠습니다.
노블롬 4.3 설치
작업할 때 동영상을 보면서 하는 것이 가장 확실한 편입니다. 저는 아래 영상을 참고하여 작업했습니다.
https://www.youtube.com/watch?v=tRNomsqZp80
본 글에서 노블롬 교체하는 방법을 따로 정리하지 않았고, 위 비디오를 보고 천천히 따라 하시면 됩니다.
사용했던 파일들 이름은 다음과 같습니다. 과정 중에 내부 메모리는 두번 지우게 되므로(wipe - format), 아래 TWRP로 설치하는 파일들은 microSD카드에 한번에 넣어두면 편리한 것 같습니다. 물론, TWRP 리커버리로 부팅한 상태에서는 컴퓨터에 USB로 연결하면 내/외장 메모리 접근이 되므로 큰 문제는 아닙니다.
PC용 파일들
- SAMSUNG_USB_Driver_for_Mobile_Phones.exe : Odin 연결을 위한 USB 드라이버
- Smart.Switch.PC_Setup.exe : 스마트폰 내용을 PC로 백업하기 위해 필요
- Odin3_v3.13.1 : PC용 프로그램으로 TWRP 를 스마트폰에 전송하기 위해 필요
스마트폰용 파일들
- twrp-3.7.0_9-0-crownlte.img.tar : 커스텀 펌웨어 작업용 -> Odin으로 USB 케이블을 통해 스마트폰에 설치
- Patch_TWRP_xxTR.zip : TWRP 패치용 -> TWRP 내에서 설치 후 Wipe - Format data를 한번 실행하기
- Universal9810_Repartitioner.zip : 파티션 작업 -> TWRP 내에서 설치하고 Wipe - Format Data 를 해야 함
- Universal9810_Cleaner.zip : 파티션 정리 -> TWRP 내에서 설치
- NOBLEROM4.3_CALABRIA_III.zip : 노블롬 4.3 본체 -> TWRP 내에서 설치, Magisk와 Shamiko 모듈은 이미 노블롬에 들어 있고, 위 영상을 따라하면서 업데이트를 해주면 됩니다. 중간에 선택해야 하는 것들이 좀 있는데 VoLTE는 BTU (영국) 통신롬만 된다는 이야기가 있었습니다.
기기 이름은 SM-S908B로 표시가 됩니다. VoLTE는 BTU를 선택해야 한다고 해서 현재 노블롬 4.3을 올린 갤럭시 노트9은 영국용 제품으로 되어 있습니다. 그러다보니 중간에 영국에서 하는 온라인 서비스 2종이 나옵니다. 그냥 취소하거나 설치 중에 제외하면 됩니다.
참고로 XDA에서 노블롬을 배포하는 글은 다음 링크에 있습니다. - https://xdaforums.com/t/noble-rom-4-3-calabria-iii-oneui-6-1-1-full-port-09-24-patches-27-09-2024-sm-n960f-fd-n-sm-g96xf-fd-n.4244747/
카카오뱅크와 신한 Sol 페이 앱 실행하기
기본적으로 루팅이 된 스마트폰에서는 금융 앱들이 실행을 거부하는 편입니다. 스마트폰이 한 개 뿐이라면 곤란한 일이지요... 그래서 실행할 방법을 제공해 주는 기능(Magisk의 Shamiko모듈)도 있는 듯합니다.
참고로 은행 및 증권, 페이류 앱은 헷갈리지 않도록 "보안 폴더" 내에 있는 플레이 스토어에 로그인한 후 그 안에서 설치하는 것이 좋습니다. 그 후, Magisk앱의 DenyList에 등록을 한 후에 실행해야 됩니다. 현재는 문제 없이 되고 있지만, 창과 방패의 문제라서 언제 안될 지는 예측 불가능하다는 이야기가 있습니다.
1단계) 우선 아래 화면처럼 보안 폴더 내에 카카오뱅크 앱과 신한 Sol 페이 앱을 넣어(목록에서 선택 혹은 설치) 보았습니다. V3 Mobile Plus는 신한카드에 필요합니다. 2단계에서 거부할 앱들을 보안 폴더 내에 나타나도록 합니다.
2단계) 노블롬에 들어 있는 Magisk앱을 실행한 후 설정 - Magisk에 보면 DenyList 구성이라는 메뉴가 보입니다(Zygisk는 선택되어 있고, DenyList 적용은 선택이 안되어 있어야 합니다). DenyList 구성 내 거부목록에 필요한 앱들을 체크해 줍니다.
아래 화면은 Magisk에서 거부 목록에 들어간 예를 보여줍니다. 일단 신한카드와 카카오뱅크만 테스트 했습니다.
이 방법을 글로 남긴 분의 이야기는 보안 폴더 자체가 독립된 공간에서 실행되므로 스마트폰이 루팅이 되었다고 해도 그것을 알지 못하므로 문제 없이 실행이 된다라는 것이었습니다. 예를 들면, 보안폴더 내 앱 화면을 캡쳐해도 스마트폰의 앨범에는 나타나지 않고 보안폴더 내의 앨범에서만 보여집니다. 물론 보안폴더 밖으로 이미지를 보내는 기능이 있습니다.
주의: 다음 날 Magisk가 갑자기 오류가 나서 28103으로 업데이트를 했는데, 공교롭게도 그 후 보안 폴더에 있는 카카오뱅크와 신한카드가 작동이 안되고 있습니다. 역시 실 사용하기에는 불안한 부분이 있는 것 같아서, 금융앱 등을 위해 별도의 전화를 갖고 있어야 하나? 하는 생각이 듭니다. 이는 해킹 위험이 감지되어 이용이 제한되었다고 나오는 것을 보면 서버 쪽에 단말기 정보가 저장된 듯합니다 => 위 과정으로 새로 설치해도 안된다는 의미입니다. => 아래 글 참조(다시 작동합니다)
- Magisk는 최신으로 바뀌었으나, Magisk의 모듈로 설치된 Shamiko의 버전이 낮아서 호환이 안된 듯합니다. https://github.com/LSPosed/LSPosed.github.io/releases 에서 .zip파일을 받고 스마트폰 내부에 저장한 후, "저장소에서 설치"메뉴를 통해 설치하니까 Shamiko v1.2.1 (383)으로 나타나면서 신한카드 및 카카오뱅크가 작동되었습니다(이후에 카카오페이, 네이버페이, 대신증권, 미래에셋증권 작동도 확인).
Magisk에 Zygisk-Assistant를 추가 설치하여 Zygist를 숨기기
https://github.com/snake-4/Zygisk-Assistant
GitHub - snake-4/Zygisk-Assistant: A Zygisk module to hide root for KernelSU, Magisk and APatch, designed to work on Android 5.0
A Zygisk module to hide root for KernelSU, Magisk and APatch, designed to work on Android 5.0 and above. - snake-4/Zygisk-Assistant
github.com
보안 폴더가 아닌 일반 앱으로 사용 중인 카카오톡에서 인증서 발급 과정에서 안되는 부분은 이 작업을 하여 해결되는 것 같습니다.
설치 방법은 https://github.com/snake-4/Zygisk-Assistant/releases 에서 release가 붙은 압축 파일을 받아서 스마트폰 내/외장 메모리에 복사한 후, Magisk앱의 "모듈"탭에서 "저장소에서 설치" 버튼을 통해 설치 후 재시작(rebooting)하면 됩니다. 설정은 바꾸는 것이 없고 더 할 일도 없습니다.
물론, Magisk앱 설정 내의 DenyList에 "카카오톡"이 추가되어 있어야 하고, Zygist는 체크되어 있으며 DenyList 적용은 해제되어 있어야 합니다.
혹시나 이 모듈 설치 후에 보안 폴더가 아닌 곳에 설치한 은행 앱이 될 수도 있으니 한번 시도해 볼 수는 있을 것 같습니다.
신한 SOL 뱅크 앱의 경우 루팅 탐지는 통과하는 것 같지만, "dropper/android.agent.1275996" 악성 앱 탐지라고 나오며 바로 종료됩니다. 이 앱이 무엇인지 알기 어려운데, 역시 "보안 폴더"에서 실행하는 편이 그나마 안전할 것 같습니다. Magisk앱이 자신을 숨기려고 랜덤하게 만든 앱인지도 몰라서 삭제하지도 못하겠네요...
신한 SOL 페이(신한카드)는 보안 폴더에서 잘 되다가 갑자기 안되었는데, DenyList에 가서 체크 해제 후 다시 체크하고 캐시 지운 후 스마트폰을 껐다 켜고 다시 작동했습니다.
워치4 혈압 측정은 KnoxPatch가 필요
혹시 Galaxy Wearable이 실행이 안된다면, 위 이미지처럼 Magisk의 모듈로써 KnoxPatch Enhancer를 설치하면 Galaxy Wearable은 작동하는 것 같습니다. 자세한 설치 방법을 참고하세요.
문제는 갤럭시 워치를 위한 삼성 헬스 모니터(혈압/ECG)앱이 한국에서만 되기 때문에 정상적으로 실행이 안됩니다??? 이 문제는
시계에서 혈압 측정을 누르면 Samsung Health Monitor가 스마트폰에 설치가 되는데, LSPosed 앱에서 모듈 부분에 설치된 KnoxPatch의 항목에 추가하면 작동이 됨을 확인하였습니다.
KnoxPatch를 설치하는 방법(위 설치 방법 내용의 의역)
- Magisk 앱은 스마트폰에 설치되어 있고 설정에서 Zygisk도 체크가 되어 있어야 합니다.
- Magisk 앱 내부의 모듈 화면에서 스마트폰 내장 메모리에 미리 복사해 둔 LSPosed Framework 압축 파일을 "저장소에서 설치" 버튼을 통해 설치합니다. 설치가 완료되면 스마트폰을 껐다가 켭니다.
- KnoxPatch APK 스마트폰용 앱을 설치합니다. LSPosed로 설치가 됩니다.
- LSPosed 앱을 실행하여(처음에는 퀵 메시지 패널에서 클릭) 그 안에 있는 모듈 항목에 가서 KnoxPatch 모듈을 눌러서 애플리케이션 목록이 나오는 지 확인 후 스마트폰을 껐다가 켭니다.
- 그러면 바로 위에 있는 그림처럼 설정하여 이용하면 됩니다.
갤럭시 워치 4 연결하여 타사폰/외국폰에서 혈압 측정하기
앞에 서술한 KnoxPatch 방법을 쓰면 되지만, 타사 폰에서 갤럭시 워치 4 사용하기(제 글)를 참고하여 작업도 보았습니다. 결론적으로 혈압 측정이 잘 됩니다.
자세한 내용은 위 글(타사 폰에서 갤럭시 워치 4 사용하기)을 참고해 주시고, 대략적인 방법을 메모해 봅니다.
아래 필요한 파일들은 https://drive.google.com/drive/folders/138thPYPMbZIp2Us0Unx_h-SqJQEDxZ-0 에 있습니다.
- (수정된)삼성 헬스 모니터 스마트폰용 앱을 설치합니다. => A12.Phone.WearOS.SHM.M.MOD.1.4.1.006.dante63.apk
- 워치 4의 블루투스 연결을 끊습니다.
- 워치 4의 WiFi가 연결되도록 합니다.
- 워치 4의 소프트웨어 버전 항목으로 이동하여 터치를 계속하면 개발자 모드로 바뀝니다.
- 워치 4의 "개발자 옵션"에 가서 ADB 디버깅을 체크하고, 무선 디버깅도 체크합니다. Allow debugging on this network 어쩌구 하는 것에 문제가 없으면 Allow를 누릅니다.
- RUN ME - WearOS Watch ADB Menu.bat 를 실행하고 2. Wireless Debuggin을 선택한 후, Wireless Debugging을 위해 pair를 선택합니다.
- 워치 4에서 무선 디버깅 밑에서 "+ 새 기기 등록"을 누르면 커다란 숫자가 표시됩니다. 여기에서 포트 번호와 IP 주소도 확인이 되는데 이 값을 6번에서 나오는 컴퓨터 화면에 입력을 합니다. 이 값은 10.에서 또 사용할 예정입니다.
- 컴퓨터에서 시계에 잘 연결되었다고 메시지가 나오면, "1. Install Watch SHM MOD..."를 써서 워치용 (수정된)삼성헬스모니터를 시계로 보내서 설치합니다. 2번을 눌러서 기존 워치에 있는 불필요한 삼성헬스모니터를 지워도 좋습니다.
- 이제 시계에 가장 아래에 새로 설치된 삼성헬스모니터를 실행하면, adb shell 어쩌구를 실행하라는 화면이 나타납니다.
- 명령 프롬프트 창을 열고 .bat 파일이 있는 곳에 다시 가서 adb connect IP주소:포트번호 명령을 통해 시계에 접속하고, adb shell dumpsys deviceidle whitelist +com.samsung.android.shealthmonitors 명령을 내려줍니다.
- 이제 준비가 완료되었고, 혈압과 ECG를 측정할 수 있게 되었습니다.
- 삼성 헬스는 좀 더 넓은 범위의 건강 정보를 제공해 주므로, 방금 (수정된)삼성헬스모니터의 혈압 값을 가져올 필요가 있습니다. Phone.SHM.M.M.MOD.Companion.7.6.7.apk 스마트폰용 앱을 설치하면 자세한 가이드가 나와 있습니다. 간단히 요약하면 내부 스토리지의 Download 폴더에 SamsungHealth 디렉터리를 만들고, FeatureManagerOn이라는 내용 및 파일 확장자명이 없는 비어 있는 파일을 하나 만들고, 오리저널 삼성 헬스 앱의 정보에 있는 소프트웨어 버전을 연속 클릭하여 Set features 버튼이 나타나게 한 후, Analytics -> [HA] Server = DEV를 선택하고, DataPlatform -> Developer mode = on을 선택하면 됩니다. 이후 삼성 헬스를 강제로 멈추고 캐시를 삭제하여 재실행해야 합니다.
- 끝으로 (수정된)삼성헬스모니터의 설정에서 데이터권한 - 앱 - 삼성 헬스 - 모든 권한을 체크해주면 혈압 동기화까지 완료가 됩니다.
- 2번에서 끊었던 블루투스를 다시 연결해 줍니다.
그 밖의 불편하거나 안되는 점들
보안에 신경 쓴 특정 앱들은 안되는 것으로 보입니다. 아예 설치도 안되는 경우는 신기한 것 같고, 저는 루팅은 초보라서 아마도 루팅 경험이 많은 사용자들은 실행시키는 방법을 알고 있을 것 같습니다.
1) 참고로, LTE신호 감도가 -109dB로 안테나가 5개 중 3개만 나타나는데 영국 LTE밴드라서 그런 건지는 아직 모르겠습니다. 집에서는 그랬고, 외부에 나가서는 안테나 모두 잘 뜨고 별 문제가 없어 보입니다.
2) 아마존 쇼핑 앱은 설치가 안되었습니다.
3) 한전ON 앱도 실행이 안됩니다.
4) Gemini는 Google앱을 설치하라고 하며 안됩니다. 보안 폴더 내에서 실행을 하면 워크스페이스 사용자라서 안된다고 하는데, 생각해보니 보안 폴더 내에서 플레이스토어 로그인 시 직장 어쩌구라는 메시지를 본 것 같습니다만, 미스테리네요... 다만, 좌측 빅스비버튼에 Gemini의 음성 호출 및 Live화면공유 메뉴가 뜹니다. 우측 전원버튼은 빅스비 버튼으로 기본 매핑됩니다(아마 S22가 좌측 버튼이 없나봅니다)
5) 카메라 촬영 시 펜의 버튼으로 작동이 안됩니다(설정에서 찾지 못함).
6) 필압이 안된다는 이야기도 있었습니다.
7) 당근마켓앱 안됩니다. 너무 열심히 일하는 엔지니어가 있나보네요.
8) (보안폴더에 있지 않은)카카오톡에서 선물하기를 누르면 인증 단계에서 루팅된 폰이라고 안되고(DenyList에 넣어도 안됨), 보안폴더에 있는 카카오페이에서 선물보내기를 하려면 보안폴더 내에 카카오톡이 있어야 하는 것 같습니다. 물론 카카오톡은 휴대폰 번호 당 1개만 설치 가능하고요. 보안폴더 내의 앱의 알림은 기본 설정은 미리보기가 안되고 알림이 있다 정도만 알 수 있습니다. => 위쪽에 있는 "Magisk에 Zygisk-Assistant를 추가 설치하여 Zygist를 숨기기" 편 참조해 주세요.
9) 의외로 쿠팡도 안됩니다. 어차피 카드 결제는 보안 폴더 내의 카드 앱을 써야 하므로 보안 폴더 내에서 설치하면 되겠습니다.
10) 사용한 지 보름 정도 되었는데, 갑자기 가끔 화면이 꺼지고 반응이 없는 상황이 하루에 한번 나오고 있습니다. 원인은 아직 모르고, 볼륨 내리기 + 전원을 10초 가량 눌러서 껐다 켜는 중입니다.
순정 펌웨어로 잠깐 복구했을 때의 문제점
삼성헬스의 경우 "휴대전화에서 승인되지 않은 변경이 감지되었습니다"라고 나오면서 실행을 거부합니다.
분명 노블롬 4.3에서는 KnoxPatch없이도 삼성헬스는 잘 작동했는데, 순정 펌웨어에 와서 안된다는 것이 재미있네요. 검색해 보면 다시 루팅해서 쓰라(?)고 합니다. 어쨌든 Knox가 제대로 되어 있어야 삼성헬스가 된다는 것은 예상 못했습니다. 삼성패스와 삼성페이만 안되는 것으로 알고 있었으니까요...
그래서 다시 노블롬 4.3을 설치하고 잘 사용하고 있습니다...
그리고 참고로 TWRP는 삭제하는 방법이 따로 없는 것으로 알고 있습니다. 다른 도구 예를 들면 Magisk로 교체하라는 글을 본 적도 있고, 어쨌든 깨끗한 순정으로 돌아가기는 (녹스가 깨졌으니 불가능하기도 하고) 쉽지 않다는 뜻입니다.
'경험나눔' 카테고리의 다른 글
LG V40 리니지롬 올리는 중 오렌지 리커버리 안되는 문제 해결 방법 (1) | 2025.04.30 |
---|---|
GMKtec K8 Plus 라이젠 8845HS 써멀 구리스 재도포 (0) | 2025.03.29 |
태양광발전량 모니터링과 한전 요금 정산 비교 (0) | 2025.03.23 |
비디오 자막 추출 Faster-Whisper-XXL 사용 방법 (1) | 2025.03.09 |
이엠텍 RTX3090 블랙에디션 내부 비디오메모리 방열패드 교체 (7) | 2024.12.11 |