خب خب یک روش برای مقابله با این برنامه مخوف پیدا کردم که الان بهتون می گم.
ابتدا بگم که نه می شه چک کرد برنامه نصب هست یا نه و دوم اینکه این برنامه بدون تغییر لایسنس (امضای برنامه) هم می تونه پرداخت درون برنامه ای رو دور بزنه.از اون جایی که این برنامه مخوف یعنی lucky patcher برای اجرای کاراش نیاز به دسترسی روت و گوشی روت شده داره، در صفحه اول برنامه با متد زیر چک می کنیم که گوشی طرف روت شده یا نه. در صورت روت بودن گوشی به کاربر می گیم که "این برنامه در گوشی روت شده قابل اجرا نمی باشد" و در غیر این صورت کاربر به برنامه وارد میشه. همون طور هم که می دونید گوشی های روت شده نسبت به کوشی های روت نشده خیلی کمتر هستند.
این متد بدون نیاز به هیچ فایل خارجی jar/lib کار می کنه.
متد:
private static boolean isRooted() {
return findBinary("su");
}
public static boolean findBinary(String binaryName) {
boolean found = false;
if (!found) {
String[] places = {"/sbin/", "/system/bin/", "/system/xbin/", "/data/local/xbin/",
"/data/local/bin/", "/system/sd/xbin/", "/system/bin/failsafe/", "/data/local/"};
for (String where : places) {
if ( new File( where + binaryName ).exists() ) {
found = true;
break;
}
}
}
return found;
}
توی oncreate هم این طوری استفاده می کنیم :
if(isRooted()){
Toast.makeText(getBaseContext(), "این برنامه در گوشی روت شده قابل اجرا نمی باشد", Toast.LENGTH_LONG).show();
}else{
کد های ورود برنامه//
}
خب نظرتون چیه که برای جلوگیری از روت کردن گوشی توسط کاربرها و کرک برنامه هامون، همه برنامه نویس های ایرانی دسترسی به برنامه شون رو از گوشی روت محدود کنن؟