(Мобифон)


Първоначален анализ на NMT-450i

Тази статия е изключително и само с цел запознаване със системата NMT-450i, авторите на долните
e-mails, както и автора на статията не поема никаква отговорност за побликуваната тук информация!


------------------------------------------------------------------- 
From: James Bond ([email protected])
To: Ramirez ([email protected])
Subject: NMT-450i
------------------------------------
Hello Ramirez! Kletachna sistema NMT-450i.
"i" e zashtoto e "impruved",t.e. razshirena ,dobawen i e SIS nomer.Parwite warianti sa bili
samo sas opoznawane po telefonen nomer,no bratiata rusnaci sa i razkazali igrata i ot 1993
e sas SIS.Twardi se ,che dosega ne e registrinano nito edno piratsko wlizane w sistemata
otkak e waweden sis-a.Towa e taka glawno poradi lipsata na kakwato i da e informacia za NMT.
Wsichko koeto sam uspial da nameria sa dwe-tri mnogo kratichki neshta ,ot rusnaci estestweno
i mnogo infantilni po sadarvanie.Wapreki che s ochite si sam wivdal tri ogromni toma sas palno
 opisanie na sistemata,no me darvaha na 3 metra ot tiah umishleno.I tezi knigi gi cheteshe samo
 edin ot wsichkite inveneri-t.e. ne wsichki znajat za kakwo stawa wapros.Dori naj populiarnia
modem ,kojto se izpolzwa w poslednite modeli telefoni (AK2339-kazwat mu NMT procesor,zashtoto
izpalniawa i drugi funkcii) ne e publikuwan izobshto waw site na Asahi Kasej.No towa e goliama
glupost,zashtoto az imam dosta goliam opit sas drugi produkti ot tozi sort na sashtata firma
i NMT-procesora edwa li shte se razlichawa ot prednite im modeli.W podsledstwie se okaza che
se programira po sashtia nachin.Kato osnowa za opiti izbrah model telefon A66 LEMS na firmata
TELLIT Comunications,zashtoto imah dwa broja ot tiah i edinia ot tiah e aktiwen.Sashto taka
centralnia procesor i SIS procesora sa mi poznati.
Nachina na powikwane na abonatite e mnogo interesen i w towa se sastoi parwia problem za
postrojawaneto na cloning na rabotesh telefon.Za da se ogranichi wikaneto na wsichki abonati
po wsichki wazmovni kletki(a towa e strahotno pretowarwane na SERV chanels i niama da ostanat
razgoworni) se prawi edno rajonirane i grupirane na kletkite waw superkletki.Cialata strana e
razdelena na superkletki i za wseki abonat se preceniawa waw koja superkletka se namira
naj-chesto(towa go prawi komputera na centralata) i powikwaniata kam nego se nasochwat imenno
waw tazi superkletka.Kogato toj patuwa i premine w druga superkletka na displeja na telefona
se indikira ROAM
i se iziskwa rachno registrirane w mrevata - i eto ti problema:
kogato cloninga e w edna superkletka ,a originala w druga shte si raboti po-chesto originala
a cloninga pochti niama da ima wazmovnost za registracia ,ili ako se registrira na displeja
na originala periodichno shte swetwa ROAM i shte se iziskwa registracia i sobstwenika shte
se usamni w neshto neredowno.Towa e po-malkia problem.Po serioznata glawoblaskanica e kak da
se imitira originalen telefon.Waw efira bazowite stancii(cletkite) izlachwat powikwaniata
kam telefonite(zwaneneto) w necodiran wid i mislia niama da e mnogo trudno da se naprawi
ustrojstwo ,koeto da pokazwa koi abonati sa tarseni w momenta na daden SERV channel(towa
se prodawa kato oficialna aparatura za podslushwane na NMT abonati , i edin bash-majstor
rusnak beshe naprawil samodelna i ja predostawiashe sreshtu naem) .Powikwaniata w tozi si
wid stawat po telefonen nomer.Ako obache abonata reshi da izbira nomer,togawa wliza w rabota
SIS code.Parwonachalno se predawa standartna zajawka za wrazka ,na koeto bazowata stancia
otgowaria sas sluchajno generirano chislo,s koeto chislo i sas SIS code se kriptirat nomera
i se identificira telefona.Wsashtnost na SIS code na telefona otgowaria SAK key kojto e klucha
za HASH funkciata s kojato se kriptira.Za savalenie tochno tuk ne znam nito kakwa e funkciata
nito tochno koe se kriptira.Procesorite na A66 sa na ATMEL i sa zaklucheni,a niamam
programator,kojto da chete zaklucheni.SIS code i SAK key se programirat wanshno(za razlika
ot starite modeli) i wse pak shte se dokopame do tiah.
Po -tochno do towa waw kakwa zawisimost sa dwete,zashtoto az na tozi model mu znam i SIS-a i
SAK-a.
A66 ima TESTMODE i ot nego se programirat 53 parametara na telefona, no izleze absolutno
sluchajno i ne moga da kava kak stana. A inache paginga e sas 1200/1800 Hz , 166 bita e
dalvinata na packeta,kato nachaloto e 11 bita 01010101010 a kraja mi e malko neizwesten,
zashtoto pak e 11 bita,no ne winagi sa ednakwi.Watre w packeta weche ne mi e ostanalo wreme
da analiziram koe kakwo e,no se powtaria edna kombinacia BC4A28 ,kojato e nesto standartno
maj,zashtoto sam ja sreshtal i w moja experimentalen telefon kogato prawi zajawka za
predawane(a pak toj e zabranen w sistemata) i edna sawsem druga kletka,kojato si izlachwashe
na drugo masto i po drugo wreme.Po towa zakluchih ,che prawilno sam hwanal nachaloto i kraja
na frames. Sledwashtoto neshto e da naprawia programa,kojato da dekodira prez lpt porta
awtomatichno frames,zashtoto dotuk rabotata beshe s logic analyser i e adski kartowska.Towa
ne e 100% -nata informacia ,no e dostatachna da oswetli znaeshtite i moveshtite i da im dade
pole za dejstwie.Mojata cel beshe da razucha sistemata.
Kolkoto do modemite,po-lesno shte ti e da usilish sinusoidalnite signali s operacionen
usilwatel i da gi naprawish prawougolni i da gi wkarash w lpt-to-taka go prawiat bratiata
rusians.Samo da znaesh na kakwi periodi otgowaria 1 i 0. 
-------------------------------------------------------------------- 
From: Ramirez ([email protected])
To: James Bond ([email protected])
Subject: Re:NMT-450i
------------------------------------
Zdrasti! Povoda da ti pisha pak (kakto se vizhda ot subject-a) e vpechatleniqta mi ot
pyrvite mi analizi na NMT-450i Shte zapochna pyrvo sys hardware-to koeto polzvam:
Kakto ti kazah, napravih si edin Interface kojto vkarva analogoviq signal v
COM-a. Predpolagam che si vizhdal shemata sys edno 741 koeto se zahranva ot
samiq COM, taka che nqma da se spiram podrobno na taq chast.
Izpolzvah programata RadioRaf v.3.2 unregistered. Tyj kato e neregistrirana
versiq, povecheto ot decode modes sa nedostypni, no specialno Digital FFSK
rezhima raboti. Po default dekodira 1200Hz kato log.0 i 1800 Hz kato log.1.
Izpolzvah 2 PC-ta. Decodera beshe vkluchen na edin Celeron 466Mhz tyj kato
iskah decodiraneto da byde po-precizno (moqta sobstvena mashina e AMD
486/DX5/130Mhz - overclock160Mhz). Tyj kato mi bqha dosta daleche v staqta
dvete PC-ta, i ne mi se tyrseshe kabel za vryzka, izpolzvah scanner-a i
DJ-S1-cata za vryzka ;). Scanner-a ima izhod ot diskriminatora, a DJ-S1-to e
specialno modificirano za modulirane direktno vyv VCO-to (bqh go pravil edno
vreme s cel da moga da predavam FSK signali - naprimer POCSAG encodnati :).
Obesnqvam ti tova za da dobiesh predstava che vryzkata beshe sravnitelno
dobra ... pyk i da si namerq opravdanie za tova che ne sym slozhil kabel ;)
Za da byda siguren che paketite se dekodirat dobre, puskah vseki pyt paketa
po dva pyti s cel da gi sravnq posle, s drugi dumi - sled vsichki napraveni
opiti se okaza che dekodera raboti perfektno. 
Za obekt na izsledvaniqta izbrah 2 wav files, koito sym zapisval predi dosta
vreme (atachnal sym ti gi). I dvata sydyrzhat paketa izlychvan ot mobilniq
telefon kym kletkata pri prikluchvane na razgovora. Dvata fail-a sa ot
razlichni aparati (ne znam kakvi aparati i nomera kakto i chestotata i dali
sa bili na razlichni kanali, zapisvani sa sys scanner-a, izhod ot chestotniq
diskriminator).
Decodnah celiq paket. Namerih posledovatelni 010101... i proverih v celiq
paket kyde se povtarqt. Syshto razbrah che v celiq paket se povtarq 4 pyti
edna i syshta posledovatelnost - 166 bits - tochno kakto mi beshe pisal.
Kakto i ti si go narekal, tova e edin FRAME. Ostana mi samo da proverq dali
i dvamata sme rabotili po edin i sysht nachin po otnoshenie na dekodiraneto
na 1 i 0 t.e. dali moqt decode i tvoqt ne sa invertirani edin sprqmo drug.
Tova napravih kato potyrsih kodovata poredicq za koqto mi spomena - BC4A28.
Lesno q namerih, no se okaza che ima razlika pri men. Vsyshnost tq pri men e
: BC4A08. Syshtata poredica se okaza che q ima i vyv vtoriq .wav.
Neshtata obache sys nachalnata sinhronizaciq - ili 010101... (reversals)
neshto ne mi haresaha taka kakto ti si smetnal che sa. Ostavih 11 bita v
nachaloto za tazi sinhronizaciq, razlozhih vsichko natatyk na po 4 bita (s
cel po-lesno da gi obyrna v HEX) i naj-nakraq mi ostanaha edni samotni 3
bita !?!? ( 166 bits - 11 (sinhro) = 155bits / 4 = 38.75 ?!?!).
Razgledah otnovo nachaloto, tam vizhdam 0101010101010111100010010100000.....
Sega neka da gi razdelq malko: 01010101010101 11100010010100000....
Zabelqzah che reversals prodylzhavat do 14-tiq bit ... sledva edna malka
smetka :
166bits - 14 = 152 bits / 4 = 38   -  38 hex cifri ... ili ako iskash 19
bytes (vypreki che ne mi se vqrva protokola da e byte orientiran, tova ne
znachi che e i razpredelen i na hex cifri - po 4 bits, no nqkaksi neshtata
taka mi haresvat poveche, pyk i kato gledam tiq reversals, taka mi se struva
che e po-logichno)
Ta ... spored men frame ima v nachaloto 14 bits reversals, sled koeto ima
CodeWord za razpoznavane na paketa. Predpolagam che tozi codeword trqbva da
byde ednakyv za cqlata sistema, t.e. vinagi da e edin i sysht. Taka che
spored mene ako CodeWord e sys 24bit razrqdnost (kakto e pri tebe), toj
trqbva da e: E25041 Pisha ti tova sled kato sym analiziral samo 2-ta .wavs sys zatvarqneto na
razgovora, utre mozhe bi shte imam poveche vreme, a i se zapalih sled celiq
tozi analiz, taka che prodylzhavam da se rovq na tova, i shte probvam sys
razlichni paketi ot razlichni chestoti (a mozhe i razlichni kletki ako
polucha i drugi .wavs) Ako imash vreme, razgledaj otnovo neshtata pri tebe, i mi kazhi mnenie
otnosno gornite mi razsyzhdeniq, mozhe az nqkyde da gresha. 
Moqta cel v momenta e ne razbivane na SIS kodiraneto, pone dokato ne uspeq
prqko ili kosveno da realiziram osnovnata ideq - ustrojstvo koeto da decodva
tiq paketi i da poluchavam informaciq za nomera na abonata, za nomera na
kojto se obazhda, CLIP eventualno ... nishto chudno da mozhe i sms-ite im da
dekodvame :) 
-------------------------------------------------------------------- 
Малко допълнителни бележки:
След още малко анализ се оказа, че CodeWord трябва да е малко по-къс. Би трябвало да е само
0xE24, останалите цифри се оказа, че не се повтарят и в други пакети (frames).
За разглеждане на .wav файловете ви препоръчвам CoolEdit (аз специално ползвам CoolEdit96). 
close1.wav -      http://scanner.phreedom.org/nmt450/phone_close1.wav
close2.wav -      http://scanner.phreedom.org/nmt450/phone_close2.wav
Цифрови пакети предавани от мобилния телефон към клетката. Приключване на разговора,
затваряне и освобождаване на заетия канал. Два файл-а от два различни апарата. 
cell_close.wav -  http://scanner.phreedom.org/nmt450/cell_close_filtred.wav
cell_close2.wav - http://scanner.phreedom.org/nmt450/cell_close2.wav
cell_close3.wav - http://scanner.phreedom.org/nmt450/cell_close3.wav
Цифрови пакети предавани от клетката към мобилния телефон. Приключване на разговора,
затваряне и освобождаване на заетия канал. Три файла от различни клетки по различно време. 
razgovor.wav -    http://scanner.phreedom.org/nmt450/razgovor.wav
Цифрови пакети предавани от клетката към мобилния телефон. Начало на разговора,
част от разговора (нарочно изрязан), приключване на разговора,
затваряне и освобождаване на заетия канал. 
Всички цифрови пакети са обработени с цифров филтър (band pass filter) 300Hz - 3000Hz
за да се изреже пилот сигнала 4kHz служещ за определяне на качеството на връзката, както и
други смущаващи сигнали извън лентата на пропускане на приемника. 
Във цифровите поредици по-долу, нарочно съм разделил синхронизиращата 14bit поредица 010101...
(reversals), CodeWord - 12bit и останалото съдържание. 
close1.wav -      http://scanner.phreedom.org/nmt450/phone_close1.wav
close2.wav -      http://scanner.phreedom.org/nmt450/phone_close2.wav
cell_close.wav -  http://scanner.phreedom.org/nmt450/cell_close_filtred.wav
cell_close2.wav - http://scanner.phreedom.org/nmt450/cell_close_filtred.wav
cell_close3.wav - http://scanner.phreedom.org/nmt450/cell_close3.wav
razgovor.wav -    http://scanner.phreedom.org/nmt450/razgovor.wav