GSM Shop GSM Shop
GSM-Forum  

Welcome to the GSM-Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features.
Only registered members may post questions, contact other members or search our database of over 8 million posts.

Registration is fast, simple and absolutely free so please - Click to REGISTER!

If you have any problems with the registration process or your account login, please contact contact us .

Go Back   GSM-Forum > Other Gsm/Mobile Related Forums > GSM Programming & Reverse Engineering


GSM Programming & Reverse Engineering Here you can post all Kind of GSM Programming and Reverse Engineering tools and Secrets.

Reply
 
LinkBack Thread Tools Display Modes
Old 06-15-2004, 18:27   #1 (permalink)
Freak Poster
 
Join Date: May 2004
Location: Denmark
Posts: 232
Member: 64783
Status: Offline
Thanks Meter: 5
emei checksum algo ??


Hi!

anyone now where to get that ?? .. is it out for free ?? .. many sites have it, but i cant find it
  Reply With Quote
Old 06-16-2004, 09:06   #2 (permalink)
No Life Poster
 
Acidmrp's Avatar
 
Join Date: Sep 2002
Location: EEPROM damaged
Age: 44
Posts: 578
Member: 15315
Status: Offline
Thanks Meter: 1
you'll find nothing if you search for EMEI. Try it with IMEI. Discussed here some time
ago with sample how to calculate last digit.
  Reply With Quote
Old 06-16-2004, 09:40   #3 (permalink)
Freak Poster
 
Join Date: May 2004
Location: Denmark
Posts: 232
Member: 64783
Status: Offline
Thanks Meter: 5
thx .. just typed i wrong!

i'll search the site, but if anyone know some mere, please advise

thx!
  Reply With Quote
Old 06-16-2004, 10:24   #4 (permalink)
No Life Poster
 
Acidmrp's Avatar
 
Join Date: Sep 2002
Location: EEPROM damaged
Age: 44
Posts: 578
Member: 15315
Status: Offline
Thanks Meter: 1
I've translated an document some time ago from engish into german. Sorry I don't
have the original document anymore but it was from this forum.

I don't want to translate it back, but if someone else want to do it, here it is:

---------------------------------------------------------------------------------

So berechnet ihr die letzte Stelle (Prüfstelle) einer IMEI am Beispiel
dieser IMEI: 49015420323751?

es gibt vier Bereiche:

TAC = D14 D13 ... D9 (D9 = höchste Stelle)
FAC = D8 D7 (D7 = höchste Stelle)
SNR = D6 D5 ... D1 (D1 = höchste Stelle)
CHK = D0

hier:


FAC: 490154
D14:4
D13:9
D12:0
D11:1
D10:5
D09:4

TAC: 20
D08:2
D07:0

SNR: 323751
D06:3
D05:2
D04:3
D03:7
D02:5
D01:1


die Checksumme wird so berechnet:

Schritt 1:

die Werte an ungeraden Positionen verdoppeln (D1, D3, D5 ... D13)


.D14:4=4
*D13:9x2=18
.D12:0=0
*D11:1x2=2
.D10:5=5
*D09:4x2=8
.D08:2=2
*D07:0x2=0
.D06:3=3
*D05:2x2=4
.D04:3=3
*D03:7x2=14
.D02:5=5
*D01:1x2=2



dann die einzelnen Ziffern zusammen zählen:
4 + 1+8 + 0 + 2 + 5 + 8 + 2 + 0 + 3 + 4 + 3 + 1+4 + 5 + 2 = 52

das Ergebnis von der nächst höheren, durch 10 dividierbaren Zahl
abziehen: 60 - 52 = 8
und das ist die Check Stelle.
bei 50 wäre sie z.B. 0
  Reply With Quote
Old 06-17-2004, 15:43   #5 (permalink)
Freak Poster
 
Join Date: May 2004
Location: Denmark
Posts: 232
Member: 64783
Status: Offline
Thanks Meter: 5
thanks .. i understand german
  Reply With Quote
Old 06-18-2004, 04:23   #6 (permalink)
Freak Poster
 
Join Date: Feb 2001
Location: Bacolod, Philippines
Posts: 313
Member: 3360
Status: Offline
Thanks Meter: 4
Posted Aug 10, 2001
Title: IMEI Number Validation

http://forum.gsmhosting.com/vbb/showthread.php?t=5033

IMEI in its full name is International Mobile Station Equipment Identity. It is a unique number composed of actually 16 digits and is divided into 4 elements:
digits description
01 - 06 TAC (Type approval code)
07 - 08 FAC (Final Assembly Code)
09 - 14 SNR (Serial Number - hardware, phone)
15 - 16 SVN (Software Version Number)

This 16-digits IMEI number is referred to as International Mobile Station Equipment Identity and Software Version (IMEISV).

What we see when we check our phone's IMEI number (by entering *#06#) is the first 14 digits (TAC, FAC,SNR) and the last is the Check Digit (CD or CHK) which is check against a computation called the "Luhn check" against the 14 digits defined. And so, we get the 15-digits IMEI number.

The IMEI provides the information about the presence of a specific mobile equipment in the network, disregarding whatever uses the subscriber makes with it.

Its primary purpose is to provide measures against the use of stolen equipment or against the use of the equipment in the GSM system that can no longer be tolerated for technical reasons.

It is harcoded into the mobile unit and should not be changed or tampered using physical, electrical, or software means.

In checking for a valid IMEI, the last digit of the IMEI number determines if the whole IMEI number is valid or not.

The last number of the IMEI is called the Check Digit and is defined using a formula called "Luhn formula", thus sometimes the last digit is called the Luhn Check Digit and does not necessarily always set to 0.

This check digit is computed in three steps as follows:

Given:
14 most significant digits of the IMEISV without the SVN which are the 6-digit TAC, 2-digit FAC, and 6-digit SNR and are labelled as follows:
TAC = D14 D13 ... D9 (with D9 the least significant digit of TAC);
FAC = D8 D7 (with D7 the least significant digit of FAC); and
SNR = D6 D5 ... D1 (with D1 the least significant digit of SNR).

Example IMEI: 49015420323751? (ignore the last digit)

FAC: 490154
D14:4
D13:9
D12:0
D11:1
D10:5
D09:4

TAC: 20
D08:2
D07:0

SNR: 323751
D06:3
D05:2
D04:3
D03:7
D02:5
D01:1

CHK: ?

Computation of CHK from the IMEI proceeds as follows:

Step 1: Double the values of the odd labelled digits D1, D3, D5 ... D13 of the IMEI.
.D14:4=4
*D13:9x2=18
.D12:0=0
*D11:1x2=2
.D10:5=5
*D09:4x2=8
.D08:2=2
*D07:0x2=0
.D06:3=3
*D05:2x2=4
.D04:3=3
*D03:7x2=14
.D02:5=5
*D01:1x2=2

Step 2: Add together the individual digits of all the seven numbers obtained in Step 1,
1+8 + 2 + 8 + 0 + 4 + 1+4 + 2 = 30

and then add this sum to the sum of all the even labelled digits D2, D4, D6 ... D14 of the IMEI.
4 + 0 + 5 + 2 + 3 + 3 + 5 = 22

The result is:
30 + 22 = 52
or
4 + 1+8 + 0 + 2 + 5 + 8 + 2 + 0 + 3 + 4 + 3 + 1+4 + 5 + 2 = 52

Step 3: If the number obtained in Step 2 ends in 0, then set CHK to be 0. If the number obtained in Step 2 does not end in 0, then set CHK to be that number subtracted from the next higher number which does end in 0.

Since 52 ends in "2", CHK can't be set to "0". The next higher number that does end in "0" after 52 is 60, so we set:
CHK = 60 - 52 = 8

So the IMEI number is: 490154203237518 and it ends in 8.

P.S. The IMEI number sampled above is fictios and does not reflect nor intended for an existing IMEI number.
  Reply With Quote
Old 06-20-2004, 16:59   #7 (permalink)
Freak Poster
 
Join Date: May 2004
Location: Denmark
Posts: 232
Member: 64783
Status: Offline
Thanks Meter: 5
i say thanks again
  Reply With Quote
Old 08-11-2004, 08:30   #8 (permalink)
Insane Poster
 
Join Date: Jul 2004
Age: 45
Posts: 94
Member: 71880
Status: Offline
Thanks Meter: 0
Exclamation

In new phones approved from January 2003, the final assembly code(FAC) is not
used anymore. From April 2004, the type approval code(TAC) will be extended
to eight(previously 6) digits. In the interim period until April 2004, the two digit
FAC field will be set to 00. this does not affect any previously approved mobile
phones and their IMEI. The IMEI will still be 14digits + CD(Check Digit) long since
TAC will take the field place from FAC.
  Reply With Quote
Old 08-18-2004, 16:55   #9 (permalink)
Insane Poster
 
Join Date: Oct 2002
Location: SWEDEN
Age: 46
Posts: 98
Member: 16622
Status: Offline
Thanks Meter: 0
To calculate checkdigit(last digit) invisual basic... :

Public Function CardlastNO(ByRef strInput As String) As String
Dim TabIMEI(14) As Byte, IMEIsum1 As Byte, IMEIsum2 As Byte
Dim SumOut As Byte, i As Integer, txtBufor As String

For i = 14 To 1 Step -1
TabIMEI(i) = Mid(strInput, i, 1)
Next i

For i = 14 To 2 Step -2
If (TabIMEI(i) * 2) >= 10 Then
txtBufor = LTrim(Str(TabIMEI(i) * 2))
IMEIsum1 = IMEIsum1 + Val(Mid(txtBufor, 1, 1)) + Val(Mid(txtBufor, 2, 1))
Else
IMEIsum1 = IMEIsum1 + (TabIMEI(i) * 2)
End If
Next i

For i = 13 To 1 Step -2
IMEIsum2 = IMEIsum2 + TabIMEI(i)
Next i
SumOut = IMEIsum1 + IMEIsum2

If SumOut Mod 10 = 0 Then
CardlastNO = 0
Else
CardlastNO = (10 - SumOut Mod 10)
End If
End Function
  Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need al info about imei calc and algos!! Gsmhq Nokia Legacy Phones ( DCT-1 ,2 ,3 ,L ) 4 01-16-2002 11:31
Anyone knows a software for changing EMEI foneman Nokia Legacy Phones ( DCT-1 ,2 ,3 ,L ) 1 12-27-2001 02:11
Anybody able to find out algo of new X35..... Toto x1x to x45/x50 0 06-10-2001 22:39
eeprom checksum , mcu rom checksum !!!!! makona Nokia Legacy Phones ( DCT-1 ,2 ,3 ,L ) 5 01-25-2001 00:44
How to unlock 17 digits EMEI GF768 xYz Old Ericsson Phones & Sony Phones 0 08-17-1999 13:54

 



All times are GMT +1. The time now is 00:01.



Powered by Searchlight © 2024 Axivo Inc.
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
- GSM Hosting Ltd. - 1999-2023 -
Page generated in 0.21484 seconds with 9 queries

SEO by vBSEO