2011-06-24 103 views
1

在我的應用程序中,我用IMEI碼鎖定應用程序。我的意思是在啓動應用程序時檢查設備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。我應該依賴哪個ID? Mac地址還是別的?另外,每次我需要詢問準用戶向我發送他們的設備ID ...他們如何做到這一點?

回答

0

如果用戶足夠精明,可以在模擬器中運行APK,那麼他足夠精明,可以對其進行反編譯並移除支票。此外,如果我是你,我會爲註冊用戶和登錄用戶提供更多功能,而不是試圖阻止未註冊的用戶啓動你的應用程序。沒有什麼比由於這種安全功能而導致功能障礙的應用程序更令人討厭(例如Steam或Windows Live或育碧臭名昭着的拒絕付費用戶)。它只會推動人們盜用你的應用程序。

+0

教我如何反編譯和重新編譯再次簽名的應用程序 – barmaley

+0

您不需要簽名的代碼在模擬器中運行它@barmaley ... – Kheldar

+0

http://stackoverflow.com/questions/3122635/is-它可能反編譯Android的apk文件和http://stackoverflow.com/questions/4336637/is-it-really-impossible-to-protect-android-apps-from-reverse-engineering反編譯。我並不是說它效率不高(需要比感知收益更多的努力),但是你會挫敗合法用戶並且從未完全保護自己。這可能仍然是一個明智的商業決策,但您應該意識到風險。 – Kheldar

0

正如我寫的here這是不是一個好主意,使用IMEI來識別某個設備。

0

如果使用手機功能專門爲手機提供IMEI檢查可能是個好主意,但它依賴於國家法規。在他們的移動網絡中實施EIR(設備身份登記)登記處的國家很少。它檢查被盜和假IMEI的是灰色和黑色標記。黑色標記的imei不能使用電話功能,灰色標記可疑並追蹤法律需求。如果是這種情況,那麼使用imei檢查將是有價值的。

相關問題