導航:首頁 > 操作系統 > android修改imsi

android修改imsi

發布時間:2022-10-21 23:19:02

A. 怎麼修改手機IMEI碼

可以按照如下方式進行操作:

1、首選需要下載安裝所需軟體,下載MTK大師,主要適合修改MTK晶元的安卓智能手機,現在多數國產安卓都是MTK的,手機是需要ROOT許可權的。

(1)android修改imsi擴展閱讀


imei號碼意義:

1、前6位數(TAC)是"型號核准號碼",一般代表機型。

2、接著的2位數(FAC)是"最後裝配號",一般代表產地。

3、之後的6位數(SNR)是"串號",一般代表生產順序號。

4、最後1位數(SP)通常是"0",為檢驗碼,當前暫備用。

IMEI碼貼在行動電話機背面的標志上,並且讀寫於行動電話機內存中。它也是該行動電話機在廠家的"檔案"和"身份證號"。

B. 如何修改android模擬器上的IMEI,IMSI,SIM card serial number

手機使用IMEI和IMSI登錄到GSM網路的,由GSM網路側負責將IMSI和映射成手機號(MSISDN),以及執行相反方向的映射。

(一)、SIM card 號的修改:
SIM card號就是印製在SIM上的一串數字。
讀SIM card號的AT命令為:AT+CRSM=176,12258,0,0,10
因此在andorid模擬其源碼中找到該AT命令——在sim_card.c中:
const char*
asimcard_io( ASimCard sim, const char* cmd )
{
int nn;
#if ENABLE_DYNAMIC_RECORDS
int command, id, p1, p2, p3;
#endif
static const struct { const char* cmd; const char* answer; } answers[] =
{
{ "+CRSM=192,28436,0,0,15", "+CRSM: 144,0," },
{ "+CRSM=176,28436,0,0,20", "+CRSM: 144,0," },

{ "+CRSM=192,28433,0,0,15", "+CRSM: 144,0," },
{ "+CRSM=176,28433,0,0,1", "+CRSM: 144,0,55" },

{ "+CRSM=192,12258,0,0,15", "+CRSM: 144,0," },
{ "+CRSM=176,12258,0,0,10", "+CRSM: 144,0,98101430121181157002" },

...

...

因此用UE二進制方式打開emulator-arm.exe 或 emulator-x86.exe,並搜索字元串「98101430121181157002」,然後將其修改成需要的SIM card號。
比如:
00209a00h: 31 30 00 00 2B 43 52 53 4D 3A 20 31 34 34 2C 30 ; 10..+CRSM: 144,0
00209a10h: 2C 39 38 31 30 31 34 33 30 31 32 31 31 38 31 31 ; ,981014301211811
00209a20h: 35 37 30 30 32 00 2B 43 52 53 4D 3D 31 39 32 2C ; 57002.+CRSM=192,

(二)、IMEI、IMSI號的修改:

Java代碼中獲取手機的IMEI號與ISMI號途徑為:

TelephonyManager manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String imei = manager.getDeviceId();
String imsi = manager.getSubscriberId();

在android的源碼樹中找到類TelephonyManager的實現:
成員函數getDeviceId:
/**
* Returns the unique device ID, for example, the IMEI for GSM and the MEID
* or ESN for CDMA phones. Return null if device ID is not available.
*
* <p>Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
public String getDeviceId() {
try {
return getSubscriberInfo().getDeviceId();
} catch (RemoteException ex) {
return null;
} catch (NullPointerException ex) {
return null;
}
}

成員函數getSubscriberId:
/**
* Returns the unique subscriber ID, for example, the IMSI for a GSM phone.
* Return null if it is unavailable.
* <p>
* Requires Permission:
* {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
public String getSubscriberId() {
try {
return getSubscriberInfo().getSubscriberId();
} catch (RemoteException ex) {
return null;
} catch (NullPointerException ex) {
// This could happen before phone restarts e to crashing
return null;
}
}

上面兩個成員函數最終調用共同的一個私有成員函數getSubscriberInfo():
private IPhoneSubInfo getSubscriberInfo() {
// get it each time because that process crashes a lot
return IPhoneSubInfo.Stub.asInterface(ServiceManager.getService("iphonesubinfo"));
}

而上面私有函數getSubscriberInfo獲取的手機IMSI和IMEI號被硬編碼在文件android_modem.c中:
/* the Android GSM stack checks that the operator's name has changed
* when roaming is on. If not, it will not update the Roaming status icon
*
* this means that we need to emulate two distinct operators:
* - the first one for the 'home' registration state, must also correspond
* to the emulated user's IMEI
*
* - the second one for the 'roaming' registration state, must have a
* different name and MCC/MNC
*/

#define OPERATOR_HOME_INDEX 0
#define OPERATOR_HOME_MCC 310
#define OPERATOR_HOME_MNC 260
#define OPERATOR_HOME_NAME "Android"
#define OPERATOR_HOME_MCCMNC STRINGIFY(OPERATOR_HOME_MCC) \
STRINGIFY(OPERATOR_HOME_MNC)

#define OPERATOR_ROAMING_INDEX 1
#define OPERATOR_ROAMING_MCC 310
#define OPERATOR_ROAMING_MNC 295
#define OPERATOR_ROAMING_NAME "TelKila"
#define OPERATOR_ROAMING_MCCMNC STRINGIFY(OPERATOR_ROAMING_MCC) \
STRINGIFY(OPERATOR_ROAMING_MNC)
/* a function used to deal with a non-trivial request */
typedef const char* (*ResponseHandler)(const char* cmd, AModem modem);

static const struct {
const char* cmd; /* command coming from libreference-ril.so, if first
character is '!', then the rest is a prefix only */

const char* answer; /* default answer, NULL if needs specific handling or
if OK is good enough */

ResponseHandler handler; /* specific handler, ignored if 'answer' is not NULL,
NULL if OK is good enough */
} sDefaultResponses[] =
{
/* see onRadioPowerOn() */
{ "%CPHS=1", NULL, NULL },
{ "%CTZV=1", NULL, NULL },

...

{ "!+VTS=", NULL, handleSetDialTone },
{ "+CIMI", OPERATOR_HOME_MCCMNC "000000000", NULL }, /* request internation subscriber identification number */
{ "+CGSN", "000000000000000", NULL }, /* request model version */
{ "+CUSD=2",NULL, NULL }, /* Cancel USSD */

...

/* end of list */
{NULL, NULL, NULL}

};

因此用UE二進制方式打開emulator-arm.exe 或 emulator-x86.exe,並搜索字元串"+CGSN"修改為需要的IMEI號;搜索"+CIMI"修改為需要的IMSI號。需要注意的是 IMSI 號的頭六個數字"310260"不能修改,否則模擬器無法與網路連接。
例如:
001fc700h: 33 00 41 00 48 00 21 2B 56 54 53 3D 00 2B 43 49 ; 3.A.H.!+VTS=.+CI
001fc710h: 4D 49 00 33 31 30 32 36 30 30 30 30 30 30 30 30 ; MI.3102600000000
001fc720h: 30 30 00 2B 43 47 53 4E 00 30 30 30 30 30 30 30 ; 00.+CGSN.0000000
001fc730h: 30 30 30 30 30 30 30 30 00 2B 43 55 53 44 3D 32 ; 00000000.+CUSD=2

C. 哪位大俠指點指點,我想在UltraEdit中打開Android模擬器文件emulator-arm.exe修改IMSI

這個問題沒遇到過,建議你重新安裝一下

D. 如何修改android模擬器上的IMEI,IMSI,SIM card serial number

1、檢查SIM卡是否插入正確位置,如果是的話可以重新插一次SIM卡。
2、檢查SIM卡金色卡片區域是否明顯受損或劃傷。如果是的話只能更換。
3、SIM用的時間長了或者經常拔插SIM卡會引起卡與手機的接觸不良,此時就需要檢查SIM及電話的電極,如果不幹凈,可用防靜電的布來清潔一下。

E. android 代碼獲取IMEI,IMSI都為空,怎麼解決

Android獲取IMSI和IMEI :

IMSI是一個唯一的數字,標識了GSM和UMTS 網路里的唯一一個用戶.

它存儲 在手機的SIM卡里,它會通過手機發送到網路上。

IMEI也是一串唯一的數字,標識了GSM 和UMTS網路里的三星 Galaxy I9100.。

它通常被列印在手機里電池下面的那一面,撥 *#06# 也能看到它。

代碼:

這里是你在Android里讀出 唯一的 IMSI-ID/IMEI-ID 的方法。

Java:

StringmyIMSI=

android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI

);

//withinmyemulatoritreturns:310995000000000

StringmyIMEI=

android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI

);

//withinmyemulatoritreturns:000000000000000

手機號碼不是所有的都能獲取。只是有一部分可以拿到。這個是由於移動運營商沒有把手

機號碼的數據寫入到sim卡中。sim卡只有唯一的編號,供網路與設備識別那就是imsi號碼,手機的信號也可以說是通過這個號碼在網路中傳遞的,並不是手機號碼。

試想,你的sim丟失後,補辦一張新的會換號碼嗎? —不會就是因為在你的手機號碼對應的 imsi號在移動運營商中被修改成新sim卡的imsi號碼。

這個就像是一個變數,當移動運營商為它賦值了,它自然就會有值。不賦值自然為空。

/** * 獲得手機的一些標志符* *@paramc *@returnString 手機的類型 */

publicStringfetch_status(Contextc){

TelephonyManagertm=(TelephonyManager)c

.getSystemService(Context.TELEPHONY_SERVICE);//

Stringstr="";

StringIMSI=tm.getSubscriberId();

str+="DeviceId(IMEI)="+tm.getDeviceId()+"/n";

str+="DeviceSoftwareVersion="+tm.getDeviceSoftwareVersion()

+"/n";

str+="Line1Number="+tm.getLine1Number()+"/n";

return str;

}

F. Android模擬器怎麼設置能虛擬出IMSI和IMEI

模擬器二進制映像(android-sdk-linux_x86/tools/emulator)沒有加密 也 沒有被壓縮,所以明文字元串可見。IMEI可以通過如下步驟修改: 1)備份模擬器映像 2)用二進制編輯器打開它

G. 誰有安卓 模擬器 修改 手機 串號 IMEI MAC SIM序列號 IMSI

pdf" data_size="0.50M" data_filelogo="https://gss0.bdstatic.com//yun-file-logo/file-logo-6.png" data_number="1" data_sharelink="https://pan..com/s/1ntpgzLR" data_code="">

安卓模擬器修改需要安裝Xposed框架 Xposed框架是一款可以在不修改APK的情況下影響程序運行(修改系統)的框架服務, 基於它可以製作出許多功能強大的模塊,且在功能不沖突的情況下同時運作。 Xposed框架適合安卓模擬器使用可以達到修改 IMEIMACSIM序列號IMSI這些數據信息 安卓模擬器需要獲取ROOT許可權再安裝框架偽裝之類

H. 如何修改手機上網的IMSI碼,重酬

修改不了,是同電話號碼綁定的,除非復制卡,但是只能復制2009年以前的SIM卡,電信卡需要鑒權碼,現在生產的sim卡無法復制或者讀取到一定次數會自毀晶元。

I. Android模擬器怎麼設置能虛擬出IMSI和IMEI

模擬器二進制映像(android-sdk-linux_x86/tools/emulator)沒有加密 也 沒有被壓縮,所以明文字元串可見。IMEI可以通過如下步驟修改: 1)備份模擬器映像 2)用二進制編輯器打開它 3)搜索 +CGSN字元串, 後面跟著15個數字的IMEI 4) 編輯這些IMEI,然後保存

閱讀全文

與android修改imsi相關的資料

熱點內容
程序員演算法有多強 瀏覽:713
pythonworkbook模塊 瀏覽:242
什麼app能查醫生 瀏覽:175
輕量級的編程語言 瀏覽:338
程序員那麼可愛生孩子 瀏覽:432
後綴him3加密文件是什麼軟體 瀏覽:984
堅果隱藏app為什麼要140版本才能用 瀏覽:313
淘寶dns伺服器地址 瀏覽:259
領英轉型app哪個好用 瀏覽:943
壓縮軟體的圖標 瀏覽:97
賣鞋哪個app是真的 瀏覽:469
python迭代是累計嗎 瀏覽:419
程序員哪些平台接私活 瀏覽:175
單片機充電電路原理圖 瀏覽:1000
android軟體雲伺服器地址 瀏覽:213
如何用伺服器做內網穿透服務 瀏覽:401
oracle加密表空間重置密碼 瀏覽:302
mdk編譯後目標文件 瀏覽:616
老人動手解壓 瀏覽:720
小米sd卡解壓 瀏覽:996