Freitag, 24. Februar 2012

Handy Teil 2

Nachdem ich beim letzten mal geschafft hatte, das Handy zu bricken hatte ich mich erstmal auf die Suche nach geeigneter unlocking-Software gemacht und nach kurzer Recherche ein Tool namens Freia gefunden, das in der Lage sein sollte, die alten Siemens Dinger zu entsperren. Ein Datenkabel hatte ich ja schon, aber das war dummerweise ein original Siemens Teil – und mit denen geht das Entsperren nicht. Aber es gibt ja Ebay und so bin ich nun auch stolzer Besitzer eines Noname Kabels – diesmal die USB-Variante, die erwartungsgemäß einen USB–RS232 Konverter enthält. Hier die Meinung von lsusb:

Bus 004 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Das Durchreichen an die Virtualbox, in der mein olles WinXP installiert ist, war auch kein Problem und nun tut Freia seinen Dienst:

Das Auslesen der Firmware, mit dem ich zunächst mal angefangen hatte dauert zwar eine halbe Ewigkeit, aber immerhin funktioniert es. Nächster Schritt: Unlock versuchen. Scheint auch zu gehen – jedenfalls sieht es im logfile ganz danach aus. Also Luft anhalten, Daumen drücken, Handy einschalten und Photo machen:

Heureka! :-)))))

First Contact – diesmal wirklich!

Nun ist es an der Zeit, zu versuchen, mit dem Handy zu reden. Das bereits erwähnte Datenkabel steckt ja noch im Computer und so muß ich nur das Terminalprogramm meines Vertrauens starten und schon kann's losgehen. Ein wenig experimentieren ergab, daß die Kommunikaitonsparameter so aussehen müssen: 19200 bps, 8N1. Hier ein Transkript der ersten Gehversuche:

Bild hinzufügen

Das sieht schon mal ganz gut aus und soll noch etwas erläutert werden: Zunächst habe ich Hersteller, Modell und Revision abgefragt, dann die Seriennummer und IMSI. die beiden letzten (identischen) Kommandos lesen alle (Status 4) Kurznachrichten aus. Beim ersten versuch gab es schlicht noch keine, daher nur die Antwort 'OK'. Dann habe ich eine SMS mit dem vielleicht nicht sehr tiefschürfenden, aber traditionellen Inhalt „Hello world!“ an das Handy verschickt und siehe da – nun bekommen wir eine richtige Antwort. Zunächst wird uns verraten, daß diese Nachricht sich auf Index 1 im Speicher befindet, den Staus REC UNREAD (also empfangen, aber nicht gelesen) hat und es auf eine stolze Länge von 31 bringt! Das Kauderwelsch dannach ist die eigentliche Nachricht und damit uns hier nicht zu schnell langweilig wird ist diese nicht etwa als simpler Text repräsentiert (wäre ja auch phantasielos), sondern als packet data unit, kurz PDU. Diese enthält neben der eigentlichen Nutzlast (dem Text) noch diverse Header Info – ähnlich anderen paketorinetierten Netzwerkformaten. Und so wurden aus bescheidenen 12 Zeichen Text stolze 78 Byte. Um die Sache etwas intereessanter zu machen ist der Text in Buchstaben mit je 7-Bit codiert und wird dann nach einem kreativen Schema zu Oktetten, also Bytes, zusammengesetzt. Ich habe grade keine Lust das genau darzustellen und verweise also einfach auf meine Quelle: http://www.dreamfabric.com/sms/

Einen Decoder zu basteln dürfte keine echte Schwierigkeit sein, was mich eher plagt ist die Frage, wie ich denn mitbekomme, wann eine SMS eingeht. Denn auf dem Terminal tut sich da nix – ich finde es aber wenig elegant, alle paar Sekunden anzufragen, ob eine neue SMS da ist. Das muß doch besser gehen! Nun werde ich also ein wenig Recherchieren und melde mich mit einer neuen Folge zurück, sobald ich schlauer bin!

2 Kommentare:

  1. Nicht schlecht! Könnte man auf diesem Wege verschiedene Sendestationen anpingen und über die Laufzeiten eine Lokalisierung durchführen?

    AntwortenLöschen
  2. Hm - da bin ich mir nicht sicher, aber ihc werde diesen Aspekt bei meiner Recherche mal im Hinterkopf behalten. Es wäre natürlich cool, wenn man irgendie eine ID der Zelle auslesen könnte, in der man sich gerade befindet und ggf. noch die Signalstärke und/oder irgendwelche Laufzeiten analysieren. Für die Anwendung, die ich für dieses Handy im Kopf habe ist das zwar nicht relevant, aber alte Handies fallen ja immer wieder mal aus Schränken ;-)

    AntwortenLöschen