공사중....
메모장 대신 끄적끄적...
package
arabiannight.tistory.com;
import
java.io.File;
import
android.app.Activity;
import
android.os.Bundle;
import
android.os.Environment;
import
android.util.Log;
public
class
TestRootingCheckActivity
extends
Activity {
public
static
final
String ROOT_PATH = Environment.
getExternalStorageDirectory() +
""
;
public
static
final
String ROOTING_PATH_1 =
"/system/bin/su"
;
public
static
final
String ROOTING_PATH_2 =
"/system/xbin/su"
;
public
static
final
String ROOTING_PATH_3 =
"/system/app/SuperUser.apk"
;
public
static
final
String ROOTING_PATH_4 =
"/data/data/com.noshufou.android.su"
;
public
String[] RootFilesPath =
new
String[]{
ROOT_PATH + ROOTING_PATH_1 ,
ROOT_PATH + ROOTING_PATH_2 ,
ROOT_PATH + ROOTING_PATH_3 ,
ROOT_PATH + ROOTING_PATH_4
};
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
boolean
isRootingFlag =
false
;
try
{
Runtime.getRuntime().exec(
"su"
);
isRootingFlag =
true
;
}
catch
( Exception e) {
// Exception 나면 루팅 false;
isRootingFlag =
false
;
}
if
(!isRootingFlag){
isRootingFlag = checkRootingFiles(createFiles(RootFilesPath));
}
Log.d(
"test"
,
"isRootingFlag = "
+ isRootingFlag);
}
/**
* 루팅파일 의심 Path를 가진 파일들을 생성 한다.
*/
private
File[] createFiles(String[] sfiles){
File[] rootingFiles =
new
File[sfiles.length];
for
(
int
i=
0
; i < sfiles.length; i++){
rootingFiles[i] =
new
File(sfiles[i]);
}
return
rootingFiles;
}
/**
* 루팅파일 여부를 확인 한다.
*/
private
boolean
checkRootingFiles(File... file){
boolean
result =
false
;
for
(File f : file){
if
(f !=
null
&& f.exists() && f.isFile()){
result =
true
;
break
;
}
else
{
result =
false
;
}
}
return
result;
}
}
출처: https://arabiannight.tistory.com/entry/안드로이드Android-루팅-여부-확인-하기 [아라비안나이트]
TestRootingCheck.zip
안드로이드 루팅
1. 라이브러리 추가
implementation 'com.lahm.library:easy-protector-release:1.1.2'
2. 루팅 체크
if (EasyProtectorLib.checkIsRoot()) {
Toast.makeText(getApplicationContext(),"탈옥기기는 해당 서비스를 이용하실 수 없습니다.",Toast.LENGTH_SHORT);
finish();
} else {
// 정상
}
반응형
'모바일 프로그래밍 > 안드로이드 프로그래밍' 카테고리의 다른 글
Application으로 싱글톤 만들기 (0) | 2020.06.08 |
---|---|
안드로이드 - 디자인 적용 관련 잡설 (0) | 2020.06.04 |
android 권한체크 (1) | 2020.04.06 |
AndroidStudio-Gson으로 Json정리하기 (0) | 2020.03.24 |
AndroidSudio-외부라이브러리(ARR) (0) | 2020.03.24 |