반응형
개발 환경
---------------------------------
OS : Mac
개발 툴 : Android Studio
개발 언어 : Java
targetSdk : 33
minSdk : 23
---------------------------------
루팅된 OS로 앱이 실행된다면 앱이 외부에 공유하지 않은 파일이 노출될 수 있으므로
루팅된 OS를 감지하는 기능이 필요하다.
루팅된 OS는 앱에서 root 권한 접근이 가능하므로 아래와 같이 루트권한 접근이 가능한지 이를 확인하는 코드를 추가한다.
[JAVA]
private fun isRooting(): Boolean {
var flag = false
try {
Runtime.getRuntime().exec("su")
flag = true
} catch (ex: Exception) {
}
return flag
}
[KOTLIN]
private boolean isRooting() {
boolean flag = false;
try {
Runtime.getRuntime().exec("su");
flag = true;
} catch (Exception e) {
}
return flag;
}
결과가 true로 떨어지면 앱을 종료시킨다.
if (isRooting()) {
new AlertDialog.Builder(LoginActivity.this)
.setTitle("루팅 앱 탐지")
.setMessage(getString(R.string.isRootingApp))
.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finishAffinity();
System.runFinalization();
System.exit(0);
}
}).show();
}
반응형
'개발노트 > Flutter' 카테고리의 다른 글
[Flutter] FCM 토큰 발급 및 Xcode 셋팅(Background Modes, Push Notification) (0) | 2023.07.06 |
---|---|
[Flutter] FIRMessaging Remote Notifications proxy enabled (0) | 2023.06.13 |
[Android] INSTALL_PARSE_FAILED_MANIFEST_MALFORMED (0) | 2023.06.11 |
[Flutter] font 적용하기 (2) | 2023.06.09 |
[Flutter] Don't use BuildContexts across async gaps (0) | 2023.06.06 |
댓글