如何通過subId來獲取phoneId

2022-02-20 11:02:52 字數 1239 閱讀 4270

androidl中使用一張資料表來儲存sim卡資訊:

telephony.db中有一張記錄sim卡資訊的表,siminfo:

create table siminfo(_id integer primary key autoincrement,icc_id text not null,sim_id integer default -1,display_name text,carrier_name text,name_source integer default 0,color integer default 0,number text,display_number_format integer not null default 1,data_roaming integer default 0,mcc integer default 0,mnc integer default 0);

一行記錄例項如下:

insert into "siminfo" values(1,'89860114831010865147',0,'中國聯通','中國聯通3g',0,-16746133,'+8618516657794',1,0,460,1);

其中,主鍵_id就類似sim卡的id,其值是從1開始遞增的,sim_id類似於slot id,在雙卡版本中一般只有-1/0/1三個值;其餘的屬性都好理解。

那如何去對應_id和sim_id呢?如函式:

subscriptioncontroller.getphoneid(subid): // 根據subid取得phoneid

foreach  entry: mslotidxtosubid.entryset() // 具體**,遍歷mslotidxtosubid

int sim = entry.getkey(); // 對應siminfo表中的sim_id欄位

int sub = entry.getvalue(); // 對應siminfo表中的_id欄位

if (subid == sub) // 正常流程下,這裡返回的值會作為phoneid;

就是說傳入的引數subid值等於siminfo表中的某行sim的_id值,返回其sim_id欄位,這個字段代表了phone id。

mslotidxtosubid.put(slotid, subid); // slotid:the slot which the sim is inserted; subid:siminfo表中_id欄位,乙個例子:

_id = 3

icc_id = 89860114831010865147

sim_id = 1

通過EPMD來獲取Erlang Node的Port

在這裡,主要是簡單的介紹一下,客戶端與服務節點通訊前是如何傳送請求資訊到epmd,並獲取服務節點的port後,再與服務節點實現tcp通訊的。客戶端是通過埠號4369來實現與epmd通訊的。在傳送請求資料時,每個請求中的前兩個位元組是代表本次請求的內容長度 如a圖 在請求獲取服務節點埠號中,請求內容則...

如何通過破解hash來獲取管理員密碼

怎麼抓對方的hash再破解的,因此這裡我給大家寫一篇獲取管理員密碼的文章,我一般不喜歡在伺服器留木馬或是後門,我比較喜歡利用管理員進入的方式來管理伺服器.本來想主要講一下抓hash和跑hash的方法,其實主要是寫給菜鳥朋友看的,高手請略過,想了想還是分幾類來寫.1.通過社會工程學獲得管理員密碼 社會...

js 通過arguments來獲取指定引數

通過訪問arguments物件的length屬性可以獲取有多少個引數傳遞給了函式。如 每次被呼叫的時候,輸出傳入其中的引數個數 function doadd doadd 0 doadd 1 1 doadd 1,2 2 doadd string 1 2 由此,可以利用這一點,函式能夠接受任意個引數引數...