Thứ Năm, 2 tháng 7, 2009

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 chóồ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

Các bạn cũng có thể tải về chương trình IMEI Check từ website của e-CHÍP. Chương trình cho phép nhập vào số IMEI và tính toán số cuối cùng cho bạn. Từ đó bạn só thể biết được số IMEI đã cho có hợp lệ hay không. Giao diện chương trình như sau:



Một số thủ thuật:

- Các mạng di động ở nước ngoài thường có một thiết bị gọi là EIR (Equipment Identify Register - đăng ký nhận dạng thiết bị). EIR cho phép kiểm soát và có thể khống chế các ĐTDĐ với số IMEI nằm trong một danh sách cho trước (gọi là danh sách đen - blacklist). Điều này rất hữu ích nếu bạn bị mất máy, bạn chỉ cần thông báo với nhà cung cấp dịch vụ mạng và ĐTDĐ bị mất sẽ không thể sử dụng trong mạng đó nữa. Ở Việt Nam chưa có thiết bị EIR nên chưa có cách nào khống chế các máy bị mất cắp hoặc các máy không hợp pháp. Thế chóng, nếu chẳng may bị mất máy, bạn cũng có thể nhờ nhà cung cấp dịch vụ di động truy tìm người đang sử dụng máy của bạn (dù bạn không nhớ số IMEI của máy bị mất). Phương thức truy tìm này dựa trên nguyên tắc: Khi thuê bao di động thực hiện bất kỳ cuộc gọi nào, tổng đài sẽ ghi lại số IMEI, số thuê bao, số thuê bao người được gọi, ngày giờ thực hiện cuộc gọi dưới dạng các bản ghi cước. Việc truy tìm có thể theo trình tự sau: Xem lại các bản ghi cước trước ngày mất máy để truy từ số thuê bao di động của bạn ra số IMEI. Sau đó xem các bản ghi cước sau ngày mất máy để truy từ số IMEI ra số thuê bao đang sử dụng máy. Nếu thuê bao này không có thông tin rõ ràng (chẳng hạn như thuê bao trả trước) thì có thể xem tiếp các số điện thoại khác có liên quan để từ đó truy ra người đang sử dụng máy của bạn.

- Đa số các loại máy đều có thể thay đổi được số IMEI bằng cách kết nối ĐTDĐ với máy tính và dùng các chương trình chuyên dụng. Máy Nokia đời DCT4 hiện nay được xem là chưa thể thay đổi được số IMEI.

10- Phân biệt máy thật/giả: Số thứ 15 (số cuối cùng) trong dãy số IMEI chính là “bùa hộ mệnh” cho bạn loại trừ máy lên đời. Để phân biệt máy thật/giả bạn bấm *#06# hay *#92702689# để xem con số thứ 15 của dãy số IMEI gốc trong máy. Nếu số này và số 15 trên tem dán sau lưng máy trùng với nhau bạn có thể yên tâm. Trong số IMEI, con số thứ 15 này không dùng, nó được tính ra từ 14 con số đầu tiên, nên trên các tem giả có thể con số này không trùng với IMEI của máy và quan trọng là chưa có thông tin nào cho thấy có thể thay đổi con số cuối này trên máy.

Không có nhận xét nào:

Đăng nhận xét