저는 부업 삼아 퇴근하고 쿠팡 플렉스, 쿠팡 이츠, 배민 커넥트를 하고 있습니다.
배달이 끝나면 그날의 수입을 저장해 두고 싶은데, 요즘의 안드로이드들은 FLAG_SECURE라는 것이 생겨 단말기단에서 캡처가 불가능한 것들이 있습니다.
회사 입장에서는 개인정보 보호등의 문제도 있어서 그러겠지만, 일하는 입장에서는 간혹 아쉬울 때가 있는 부분입니다.
저는 배달용으로 xz1c라는 휴대전화를 사용 중입니다.
폰 자체는 배터리도 오래가고 크기가 작아 휴대하기 편한 만큼 배달용으로 쓰기 좋은데, 나온 지 오래된 폰이다 보니 안드로이드 버전이 너무 낮아 커스텀 펌웨어를 올려 사용 중입니다.
커스텀 펌웨어를 올리기 위해 부트로더 언락을 하고 TWRP라는 커스텀 리커버리도 설치되어 있는 상태입니다.
캡처가 안 되는 불편함을 해결해보려 xda를 뒤져보니 Smali Patcher라는 Magisk용 모듈이 있어 테스트해 본 바 잘 동작하는 것을 확인하여 글을 게시합니다.
Magisk 설치
TWRP 설치방법은 기기마다 방법이 조금씩 다르기 때문에 설명하지 않겠습니다.
이미 커스텀 리커버리가 설치되어 있다고 가정하고 진행하기에, ADB 파일들이나 드라이버 설치 등도 따로 설명하지 않습니다. xz1c에 한하여 위의 글을 참고하실 수는 있겠습니다.
'Smali Patcher'는 Magisk용 모듈이기 때문에 Magisk를 먼저 설치하여야 합니다.
https://github.com/topjohnwu/Magisk/releases
여기를 방문하여 최신 버전의 Magisk를 내려받습니다.
'Assets' 부분의 'Magisk-v##.#.apk' 파일을 내려받으면 됩니다.
내려받은 파일의 확장자를 'zip'으로 변경한 후 휴대전화를 연결하여 휴대전화 내부의 적당한 공간에 복사합니다.
커스텀 리커버리로 진입하여 'Install'을 선택합니다.
먼저 저장해 둔 'Magisk-v##.#.zip' 파일을 선택한 후 'Install Image' 버튼을 누릅니다.
'Swipe to confirm Flash' 부분을 스와이프 하여 Magisk 이미지를 설치합니다.
이미지 설치가 완료된 후 위의 메시지가 나오면 'Reboot System'으로 기기를 재시작합니다.
Smali Patcher 모듈 생성
휴대전화의 설정 내의 정보메뉴로 들어가 '빌드 번호' 부분을 연타하면 개발자 옵션이 활성화됩니다.
활성화된 '개발자 옵션' 메뉴로 들어가 'USB 디버깅'을 활성화합니다.
https://forum.xda-developers.com/t/module-smali-patcher-7-4.3680053/
여기를 방문해 Smali Patcher 실행파일을 내려받습니다.
노란색으로 강조된 두 개 중 그까이꺼 대충 아무거나 내려받으면 됩니다.
내려받은 파일의 압축을 해제한 후 'SmaliPatcher.exe' 파일을 실행합니다.
윈도우즈 10의 경우 바로 실행이 되지 않을 수 있는데, 이런 화면이 나오면 '추가 정보'를 누릅니다.
그럼 '실행' 버튼이 활성화됩니다.
'Secure flag' 항목을 선택한 후 'ADB PATCH' 버튼을 누릅니다.
휴대전화에서 'USB 디버깅을 허용하겠냐는 메시지가 나옵니다. '허용'을 해줍니다.
Smali Patcher에서 위와 같은 메시지가 나오면 원래의 실행파일이 있던 위치에 위와 같이 'SmaliPatcherModule-0.0.#.#-fOmey@XDA.zip' 라고하는 Magisk용 모듈 이미지가 생깁니다.
이후 생성된 압축파일을 다시 커스텀 리커버리로 진입하여 설치해준 후 기기를 재시작합니다.
'Magisk'앱을 실행합니다.
아래 4번째 아이콘의 '모듈'을 선택하면 지금 설치한 'Smali Patcher' 모듈이 보입니다.
해당 모듈을 활성화합니다.
이제 스크린샷이 불가능한 앱의 스크린샷이 가능해졌습니다.
안드로이드 12
안드로이드 12에서 사용가능한 모듈에 관한 글이 추가되었습니다.