Unrooted smartphone with changed IMEI on android

672 views Asked by At

I'm developing an android project to control users access. I use IMEI number like user-login, because I need users can use only one device to access, but I'm worried about IMEI cloning. I'd want to implement a booted phone control to be sure IMEI is original.
Is it possible to have an android phone unrooted with IMEI changed?

3

There are 3 answers

0
Batuhan Coşkun On

I think you can use device's MAC address for a unique identifier. Use the codes below for getting MAC Adress:

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String uniqueId = info.getMacAddress();

Do not forget to add this permission to Manifest:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
0
Munawwar Hussain Shelia On

You can also use Android device Unique ID:

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                    Secure.ANDROID_ID); 

there is a good explanation for this in this blog

http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

0
Luxferre On

Yes, it is possible. Most MediaTek-based Android phones (excluding the ones from Nokia/HMD) have Engineering Menu accessible with *#*#3646633#*#* (*#*#engmode#*#*) or similar secret code, and this menu is working from the system/telephony context and has special RIL access which allows entering AT commands without rooting. And MediaTek chipsets are famous (or, should I say, notorious) for their AT+EGMR command which, besides other things, allows IMEI modification.

All of this can be done without rooting the smartphone itself, although some OEM models actually do require root privileges explicitly even for the engineering menu.