PDA

View Full Version : những bí mật của IMEI


bich_pham
02-06-2012, 04:37 PM
MÌnh tìm thấy cái này trên mạng nên up cho mọi người kiểm tra IMEI DT của mình
IMEI là gì?
IMEI (International Mobile Equipment Identity) là số nhận dạng thiết bị di động quốc tế, dùng để phân biệt từng máy ĐTDĐ. Nói cách khác, về nguyên tắc, không thể có hai ĐTDĐ cùng mang một số IMEI. Thông thường, số IMEI do một số tổ chức cung cấp cho nhà sản xuất ĐTDĐ. Muốn sản phẩm của mình được cấp số IMEI, nhà sản xuất ĐTDĐ phải gửi đề nghị cho một trong các tổ chức nói trên để họ xem xét.
Cấu trúc và ý nghĩa các thành tố của số IMEI:
Số IMEI luôn gồm 15 chữ số theo dạng: NNXXXX-YY-ZZZZZZ-A. Trong đó, sáu chữ số đầu (NNXXXX) của IMEI được gọi là TAC (Type Allocation Code), hai chữ số tiếp theo (YY) được gọi là FAC (Final Assembly Code), sáu chữ số kế tiếp (ZZZZZZ) là số sêri của máy, chữ số cuối cùng (A) là số dùng để kiểm tra. Chi tiết hơn:
- NN: Hai chữ số đầu của IMEI được gọi là Reporting Body Identifier, dùng để nhận dạng tổ chức nào đã cung cấp số IMEI cho nhà sản xuất ĐTDĐ (thông thường, số IMEI được bắt đầu bằng số 35 hoặc 44, đây là số do tổ chức BABT cấp - www.babt.com).
- XXXX: Bốn chữ số kế tiếp được gọi là Mobile Equipment Type Identifier, dùng để nhận dạng chủng loại (model) ĐTDĐ.
- YY: Hai chữ số này được gọi là FAC (Final Assembly Code), dùng để xác định xuất xứ của sản phẩm (đã được sản xuất hoặc lắp ráp ở quốc gia nào). Cần lưu ý rằng một nhà máy có thể có từ hai mã số FAC trở lên để tránh trường hợp số IMEI bị trùng lặp khi số lượng sản phẩm vượt quá con số một triệu, bởi số xêri ZZZZZZ chỉ bao gồm sáu chữ số).
- ZZZZZZ: Số xêri của sản phẩm.
- A: Số dùng để kiểm tra. Số này được tính dựa vào 14 chữ số đã nêu theo một thuật toán cho trước. Có thể căn cứ vào số này để biết số IMEI có hợp lệ hay không.
Nhìn chung, dựa vào số IMEI, ta có thể xác định được model của sản phẩm, xuất xứ. Tuy nhiên không có quy tắc chung trong việc đánh số model và xuất xứ, đánh số thế nào phụ thuộc vào nhà sản xuất. Bảng bên dưới là thông tin về một số xuất xứ đối với các loại máy nhãn hiệu Nokia:
YY(FAC) Nước xuất xứ
06 France
07, 08, 20 Germany
10, 70, 91 Finland
18 Singapore
19, 40, 41, 44 UK
30 Korea
67 USA
71 Malaysia
80, 81 China
(Ví dụ: Nếu số IMEI của máy Nokia là 350880-10-195032-8 thì có nghĩa là ĐTDĐ đó được sản xuất tại Phần Lan. Nếu IMEI là 350893-30-952659-2 thì máy ĐTDĐ được sản xuất tại Hàn Quốc).
Cách xem số IMEI
Có nhiều cách để xem số IMEI: xem trực tiếp trên vỏ máy và thông qua phần mềm của máy. Muốn xem trực tiếp trên vỏ máy, phải tắt nguồn, tháo pin để xem số IMEI ghi trên mặt sau của thân máy. Muốn xem số IMEI thông qua phần mềm, ta bấm *#06#. Cách này có thể dùng cho tất cả các loại máy. Một số loại (như Siemens), nhà sản xuất cho phép xem số IMEI thông qua menu của máy. Một số loại khác (như Nokia, SonyEricsson,...) cho phép xem số IMEI thông qua các menu dịch vụ (service menu), bằng cách bấm vào các mã số bí mật (đối với máy Nokia ta phải bấm *#92702689# để xem số IMEI gốc của máy).
Cách kiểm tra tính hợp lệ của số IMEI
Thuật toán dùng để tính toán số này như sau:
Bước 1: Nhân đôi giá trị của những số ở vị trí lẻ (là các số ở vị trí 1, 3, 5,...,13), trong đó số thứ 1 là số ngoài cùng phía bên phải của chuỗi số IMEI.
Bước 2: Cộng dồn tất cả các chữ số riêng rẽ của các số thu được ở bước 1, cùng với các số ở vị trí chẵn (là các số ở vị trí 2, 4, 6 ... 14) trong chuỗi số IMEI.
Bước 3: Nếu kết quả ở bước 2 là một số chia hết cho 10 thì số A sẽ bằng 0. Nếu kết quả ở bước 2 không chia hết cho 10 thì A sẽ bằng số chia hết cho 10 lớn hơn gần nhất trừ đi chính kết quả đó.
Ví dụ: số IMEI là 350880-10-195032-A, trong đó A là số kiểm tra cần phải tính toán.
Bước 1: 10, 16, 0, 0, 18, 0, 4
Bước 2: (1 + 0 + 1 + 6 + 0 + 0 + 1 + 8 + 0 + 4) + (3 + 0 + 8 + 1 + 1 + 5 + 3) = 42
Bước 3: A = 50 – 42 = 8
Như vậy số IMEI hợp lệ phải là 350880-10-195032-8.
Đối với các bạn thích lập trình và muốn tự mình làm một chương trình nho nhỏ dùng để kiểm tra tính hợp lệ của số IMEI, xin giới thiệu một đoạn mã viết bằng Visual Basic.
Function CheckDigit(sIMEI As String) As String
Dim iDigit(0 To 14) As Integer, i As Integer, iCD As Integer, sCD As String
If Len(sIMEI) = 15 Then
For i = 1 To 14
iDigit(i) = CInt(Mid(sIMEI, 15 - i, 1))
If i Mod 2 = 1 Then
iDigit(i) = 2 * iDigit(i)
If iDigit(i) > 9 Then iDigit(i) = iDigit(i) - 9
End If
Next
For i = 1 To 14
iCD = iCD + iDigit(i)
Next
If iCD Mod 10 = 0 Then
sCD = "0"
Else
sCD = CStr(((iCD \ 10) + 1) * 10 - iCD)
End If
CheckDigit = sCD
Else
CheckDigit = "Invalid IMEI"
End If
End Function
IMEI Check
Chương trình dùng để kiểm tra tính hợp lệ của số IMEI
IMEInfo
Chương trình IMEInfo cho phép kiểm tra model của máy điện thoại di động (ĐTDĐ) dựa vào số IMEI của máy. Ngoài ra, nó cũng cho biết số IMEI có hợp lệ hay không bằng cách tính toán và kiểm tra số cuối cùng trong chuỗi số IMEI dựa theo một thuật toán cho trước
Chú ý: 2 phần mềm này sử dụng trên máy tính
SƯU TẦM.

vietnam
02-06-2012, 04:37 PM
Cái này đã có bài rồi mà bạn. :.......

bachhy
02-06-2012, 04:37 PM
IME 351894-01-2063039
vậy 01 là của nước nào:mrgreen:

thienanfurniture
02-06-2012, 04:37 PM
:( của em cũng mã 01 Hix ko biết có phải của Việt Nam sản xuất kô nhỉ :))

tanlienthuan
02-06-2012, 04:37 PM
mình đang xài 3250 có số IME là 357933002200252. Vậy xin hỏi thuộc nước nào sản xuất?

cpse.hcm
02-06-2012, 04:37 PM
hình như cách sắp xếp IMEI như trên chỉ áp dụng cho các máy từ 01-01-2004 về trước thôi.còn sau ngày 01-01-2004 thì cách sắp xếp trên đã đc thay đổi chút ít thì phải.em có đc đọc 1 bài viết về IMEI hình như bên diễn đàn nokiafriends.