반응형
안드로이드 단말에서 루팅 감지 체크하는 자바 코드 입니다.
루팅이 되어있으면 return true;
안되어 있으면 return false;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
protected boolean checkRooting(){
final String[] files = {
"/sbin/su", "/system/su", "/system/bin/su", "/system/sbin/su", "/system/xbin/su", "/system/xbin/mu",
"/system/bin/.ext/.su", "/system/usr/su-backup", "/data/data/com.noshufou.android.su", "/system/app/Superuser.apk",
"/system/app/su.apk", "/system/bin/.ext", "/system/xbin/.ext", "/data/local/xbin/su", "/data/local/bin/su",
"/system/sd/xbin/su", "/system/bin/failsafe/su", "/data/local/su", "/su/bin/su"};
String buildTags = Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")){
return true;
}
for (String path : files){
if (new File(path).exists()){
return true;
}
}
try {
Runtime.getRuntime().exec("su");
return true;
}
catch (Exception e){
return false;
}
}
|
cs |
10번째 줄은 루팅하면 Build.TAGS가 test-keys로 바뀐다고 한다.
14번째 줄은 해당경로에 .su파일 또는 .apk 파일이 있는지 검사한다.
21번째 줄은 SU 명령어(SuperUser) 실행 해본다.
su 명령어가 없어서 에러가 나면 return false가 된다.
반응형
'프로그래밍' 카테고리의 다른 글
Firestore Could not deserialize object 오류 (0) | 2021.05.27 |
---|---|
안드로이드 앱 스크린샷 캡쳐 방지코드 (0) | 2021.04.06 |
안드로이드 스튜디오 코드 줄바꿈 선 길이 늘이기 (0) | 2021.02.05 |
[JAVA] 자바 숫자 단위 10K, 1M, 1B 숫자를 줄여 표기하기 (0) | 2021.02.01 |