루팅 탐지를 우회하는 방법에 대해 알아봅니다.
프로그래머는 디바이스가 루팅되었나 알아보기 위해 다향한 탐지 방법을 적용해놓습니다.
ex) "su"탐지, 폴더권한 확인 등
그렇게 이 탐지하는 부분을 찾아서, 값을 가로채서 "이게 루팅된 기기가 아닙니다" 라고 메세지를 던져주면 루팅 우회가 가능합니다.
이 것을 후킹이라고 합니다.
그러면 루팅 탐지하는 부분부터 찾아야겠죠?
그럴러면 코드를 한번 까봐야 합니다.
디컴파일을 통해 코드를 깝니다.
(저는 맥이기 때문에 맥에서 까는 방법을 해봅니다.)
일단 2개를 다운받아 주는데
dex2jar - https://sourceforge.net/projects/dex2jar/
JD-GUI - http://java-decompiler.github.io/
dex2jar -> dex파일로부터 class파일 추출
GD-CUI -> class파일을 java파일로 추출
그리고, 이렇게 해서
sh d2j-dex2jar.sh app-debug.apk
apk 파일이 있는 경로에서 위와 같이 치면
아래와 같이 Permission denied가 뜹니다.
자, 여기서 권한 변경해주고 또 가면 이렇게 자 됩니다.
이러면 아래와 같은 파일이 생성되는데
얘를 JD-GUI에 넣으면 아래와 같이 디컴파일이 됩니다.
그 다음 프리다를 이용해서, 루팅 탐지 클래스로 접근해 루팅 탐지 프로세스를 무력화시킵니다.
이러면 끝.
'개발 > 안드로이드 rooting' 카테고리의 다른 글
무결성검사 (0) | 2019.11.14 |
---|---|
코드 난독화 (0) | 2019.11.13 |
폴더 권한 확인 (0) | 2019.11.08 |
루팅 프로세스, 어플 탐지 (0) | 2019.11.06 |
rooting su (0) | 2019.11.04 |