Устройство IMEI блокировки для планшетов - PullRequest
1 голос
/ 24 июня 2011

В моем приложении я блокировал приложение с помощью кода IMEI. Я имею в виду, что при запуске приложение проверяет IMEI устройства и сравнивает его со списком разрешенных устройств. Если устройство находится в списке, пользователь может продолжить работу, в противном случае оно выручает:

public boolean checkIMEI(Activity activity)
{
        TelephonyManager tm=(TelephonyManager )activity.getSystemService(Context.TELEPHONY_SERVICE);
        if(tm==null)
        {
            Log.v(TAG, "Can't get telephony service");
            new MessageBox(activity, "Can't get telephony service. Forcing shut down!");
            return false;
        }
        //encrypted IMEIs list
        String[] vals=activity.getResources().getStringArray(R.array.imeis); 
        //real device IMEI
        String deviceId=tm.getDeviceId();
        if(deviceId==null || deviceId.length() < 2)
        {
            Log.v(TAG, "Looks like emulator - bail out!");
            Toast.makeText(activity, "This special version not intended to run in this device!", 5000).show();
            return false;
        }
        boolean valid=false;
        for(String val:vals)
        {
            String imei=Checker.decryptTemp(val); //decrypt IMEIs
            if(imei.equalsIgnoreCase(deviceId))
            {
                valid=true;
                break;
            }
        }
        if(!valid)
        {
            Log.v(TAG, "Invalid device IMEI!");
            return false;
        }
    return true;
}

Проблема с планшетами Android, не оснащенными услугами телефонии. Таким образом, эти устройства не имеют IMEI. На какой идентификатор мне положиться? Mac-адрес или что-то еще? Также каждый раз, когда мне нужно попросить потенциальных пользователей прислать мне свой идентификатор устройства ... Как они могут это сделать?

Ответы [ 3 ]

0 голосов
/ 18 июля 2012

Как я писал здесь не очень хорошая идея использовать IMEI для идентификации определенного устройства.

0 голосов
/ 19 июня 2013

Проверка IMEI может быть хорошей идеей, если она предлагается исключительно для телефонов, использующих функциональность телефона, но это зависит от правил страны. В нескольких странах реестр EIR (реестр идентификаторов оборудования) внедрен в их мобильных сетях. Он проверяет наличие украденных и поддельных IMEI, помеченных серым и черным. Черные пометки imei не могут использовать телефонные функции, серые помечены подозрениями и отслеживаются по закону Если это так, то использование imei check будет полезным.

0 голосов
/ 31 августа 2011

Если пользователь достаточно сообразителен, чтобы запустить ваш APK в симуляторе, он достаточно сообразителен, чтобы декомпилировать его и снять ваш чек.

Более того, на вашем месте я хотел бы предложить больше функциональности зарегистрированным и вошедшим в систему пользователям, а не пытаться помешать незарегистрированным пользователям запускать ваше приложение. Нет ничего более раздражающего, чем приложение, которое выходит из строя из-за такой функции безопасности (например, Steam или Windows Live или печально известный Ubisoft «отказ в игре для платных пользователей»). Это только подталкивает людей к пиратству вашего приложения.

...