효투의 세상 로딩중...
효투의 세상 로딩중...
반응형

Magisk나 Frida Hooking을 통하여 훨씬 더 편하게 웬만한 앱들은 루팅탐지 우회가 가능하지만

스말리 코드 변조를 통한 루팅탐지 우회도 알아두면 탐지 원리를 파악하는데 많은 도움이 되고

무결성 검증을 진단할 때 가끔 활용할 때가 있다.

또 프리다 후킹이나 매지스크가 어떤식으로 동작하여 루팅이 우회되는지 정확하게 알 수 있다.

 

먼저 앱을 실행하면 아래 그림과같이 루팅 탐지를 함

apk 파일을 추출해

jadx에서 코드를 보게되면 

이런식으로 루팅을 탐지하는 메소드들이 존재한다.

 

이 앱은 이렇게 여러개의 메소드로 다양한 방법을 동원해 루팅탐지를 하는데

루팅 시 변경되는 Build.prop파일의 test-key 확인 

su, xbin, sbin, Superuser.apk 등등 루팅할 시 생기는 경로 및 파일 확인

루트 권한이 실행되는 지 등

다양한 방법으로 루팅탐지를 한다.

 

보통은 이러한 코드들 중에 한 부분이 있다면 

그 부분의 smali 코드를 찾아 Return 값을 0x1 -> 0x0 또는 0x0 -> 0x1 로 바꿔주는 식으로

우회가 가능하다.

0x1 = true

0x0 = false

하지만 이 앱은 아랫단에

이런식으로 몇가지의 검사 중 하나라도 True값이 존재한다면 루팅을 탐지해 앱을 종료시키는 알고리즘으로 되어있다.

스말리 코드를 변경하는 방식은 ios에서 바이너리를 변조하는 방식보다 간단하다.

앱 디컴파일(Decompile) 후  smali 폴더에

jadx와같은 분석툴에서 루팅탐지 코드를 찾은 경로 그대로 따라 들어가주면 된다.

 

스말리 파일을 찾았다면 메모장이나 노트패드로 열어서 리턴값만 수정해주면된다.

 

const/4 v0 0x0 또는 0x1 의 리턴값을 수정한 다음

다시 컴파일 후 -> 서명 -> 설치하면 우회가 가능한것을 확인할 수 있다.

 

 

 

반응형
  • hyotwo7658@gmail.com

복사 완료 👍