Results for category "Windows Mobile 6.1"

3 Articles

Rautiges 2009-05-26

  • Samstag ging es spannend in Wolfsburg zu. Den Mittag über verfolgte ich auf n-tv die Wahl zum Bundespräsidenten. Interessanterweise erfuhr ich heute, dass Lammerts Verhalten nach bzw. während der Wahl für ein Nachspiel sorgt.
    Nach der Wahl lernte ich Mathe weiter und machte mich gegen 15 Uhr auf in die Wolfsburger Innenstadt. Was da los war, war echt unglaublich. Und gegen 17.15 Uhr wurde der Traum eines jeden Wolfsburger Fußball-Fan wahr: Vfl wurde deutscher Meister. Die Stimmung war natürlich fantastisch, ich machte mich aber wieder auf den Weg zurück zur Wohnung.
    Zu später Stunde holte ich dann einen volltrunkenen Timo von der Bushaltestelle ab und fuhr ihn noch zu Lippe.
  • Das Modul “Mathematisch-logische Grundlagen” geht in die heiße Phase. Die meisten Aufgaben – bis auf 3 – habe ich eingereicht und sind soweit in Ordnung. Seit Donnerstag sitze ich an der Zusammenfassung aller Kapitel. Großer Vorteil: Beim zweiten Mal lesen verstehe ich die Texte wesentlich besser 🙂
    Nächstes Wochenende folgt dann Abschlusstest und Online-Klausur, damit ich am 19. Juni meine Klausur in Witten schreiben kann.
    Das nächste Modul wird wohl Web-Design werden und zusätzlich nebenbei noch Mathe 1. Mit M1 werde ich mir aber keinen Stress machen, so wie ich das bei MLG gemacht habe.
  • Florian ist momentan dabei, eine eigene kleine Ubuntu-basierende Distribution zusammenzustellen. Diese lädt nach dem Start EFA, Elektronisches Fahrtenbuch – ein Tool für Rudervereine, und sichert automatisch die EFA-Datenbank auf hot-plugged USB-Sticks. Dabei kam dann heraus, dass VirtualBox und VMWare massive Probleme beim Durchreichen von USB-Geräten haben. Ubuntu 8.10 bzw. der Kernel der 8.10er verliert nach einigen Sekunden die Verbindung zu den USB-Geräten.
    Sobald das Projekt abgeschlossen ist, wird Florian hoffentlich die Anleitung dazu auf seinem Blog veröffentlichen.
  • Nur damit ich es nicht vergesse: Auf SlickTools gibt es zwei .NET CF 2.0 Anwendungen. Eine ist ein mobiles Metronom, die andere eine Stoppuhr. Beides werde ich bei den nächsten Bandproben mal einsetzen.
  • Auch für nächsten Monat sind einige kleine Anschaffungen geplant:
    • Steckdosenleiste mit Überspannungsschutz für Server, Router und Kabelmodem. Ich trau’ dem Blitzableiter im Haus nicht.
    • Roland Micro Cube für das Üben in der Wohnung. Hab kein Nerv, immer mein MG 30 DFX mit nach oben zu schleppen. Und ohne Verstärker E-Gitarre zocken ist langweilig.
    • Eventuell ein Mikrofonständer. Da bin ich aber noch am Überlegen, ob ich so etwas wirklich brauche. Im Proberaum haben wir die Ständer.
    • Neues Server-Board. Da drücke ich mich noch vor. Bin am Überlegen, ob ich mir nicht doch ein Ion hole oder eines von den neuen Intel Embedded-Boards.
  • Bandmäßig schaut es so aus, dass Dennis nun als Bassist(in) mit an Bord ist. Am Vatertag haben Jan und ich ein kleines Akustik-Gitarren-Konzert gegeben, was meiner Meinung nach ganz okay war.

Microsoft Tag – 2D Barcode – Protokollanalyse und Sicherheit

Marc berichtete gestern über Microsoft Tag. Tag ist ein 2D-Barcode, der mittels 4 verschiedenen Farben und deren Kombinationen einen Hash bildet.
Mit der Kamera des Handys wird der Tag aufgenommen und dann an einen Microsoft-Server geschickt. Dieser überprüft, ob der Hash registriert ist und liefert an den Client zurück, ob dieser Hash existiert. Hinter einem Hash kann sich ein Link, ein Freitext, eine Telefonnummer oder eine vCard verbergen.
Wenn der Hash existiert, werden eben diese Informationen zurückgesendet. Das Prinzip ist also ganz simpel.
Mir stellte sich nun die Frage, wohin gehen denn überhaupt die Daten und was wird an den Client gesendet?

Zur Überprüfung schloss ich mein HTC Touch Diamond mittels USB-Kabel an den PC an, startete Wireshark und schaute mir die Verbindungen an.
Sobald das Handy eine Anfrage an den Server stellt, wird an rs.tag.microsoft.com über TCP/80 (normales HTTP) ein GET-Request gesendet. Der GET-Request sieht folgendermaßen aus

GET /6FADWESYVPYSPHHQ5TMKHGSWF3ODWWRP.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8F013hNEWheA%24&PL=zqMa3C48QBs_4fI9cRZKGpvix1XhvxuqEQ1eFlqKqwlbXzl%2BgvWxM7zTaq0xRFcdWuneeC5VRGuYitVRubwb1kswVAc19dpoJDZEf5HpqlbHvw7WPzpVYibwvX02LygEnOXbXbTbeM04VzICWva2GVdYXXKekdxPvL8evEZbJG5Xi8t9PUlVHOL_yS_dsXi2XT5cejeRsGArLzVpkvjcPLyyG6csBzoOTeHuKiZLTnKYgLcyxqMQvDQtIQ5J6rYFW19SZ4r1

rs.tag.microsoft.com liefert danach dann

<PAYLOAD><NAME>Deine</NAME><PIN>0</PIN><DATA>r6QEsUVaVGZOm9MVWDszHo_0vTzeonHOUytWESKQ3gVLLjl5kfK5IsvFGaJYLDsDGqrrMzErE1C3rNcrtKwYrE1J</DATA></PAYLOAD>

zurück.

Um etwas strukturierter an die Sache zu gehen, hier die Tests mit den einzelnen Typen.

Dialer

Request:

GET /7KDWMBOYE474DQA7PMH5KVDLDK4SGSZJ.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8F01ahPoWheA%24&PL=tr8e2zMtRBU68uguaBwhGIz43Bv8ujayaxlTASP4zA8jQz15n%2BS1PbnAcL4oTjwfTfPFZDNOQ3PinthGwM580DMsUAAo5N5mISVebIjjwVTQpRXKIiFSelzksGpPXU8C5PnfWqnKfMM9RCgRQ_zdG0BCRm6DittXxqsTqz8pQ2gvl896IFhREufs0zzEuxO0SiRHZiqKt3hROzh%2B64q7OsSuH6AxFj4ASPL0OT9BJXCPmqwu27gXpE45LBkwmNEDI0NWYJfk

Response:

<PAYLOAD><NAME>Dialer</NAME><PIN>0</PIN><DATA>r6QEsUVaVGZOm9MVWDszHo_0vTzKymK1QjZaFzWG3RpKMy9onPusWcm3GKpCPVd5TvK9biFaSXqGgLRSycY$</DATA></PAYLOAD>

vCard (ohne Passwort)

Request:

GET /DYMDUQZA5HDH3KXOEV7X5DPS7S4U2ZSN.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8FE1lhPwWheA%24&PL=utsO1EIiWgwg8OM9CRszE46boA79tyW5aQpEF1LpqREvJy127uurJKPCe61JSS4UT%2BW5fDJDSHjgjc9Qsd8Zzj9IQA9Z68B_OydVf%2Bnk01_Ss2nSIyxZcV73p3w%2BTCoc6J3PVdjFYtonRiMCIvvPEEJUOnaCh9BcxLgEvU44JnYj8991UVdPC_3u2C%2BlvAG_SDI7fiuHvHNTKC9ompveJMjKD69AGSAZUvD_Kl5GN3uNjNA22rUcr0wqOw9BibQdLydGb%2Bbr

Response:

<PAYLOAD><NAME>vCard unprotected</NAME><PIN>0</PIN><DATA>r6QEsUVaVGZOm9MVWDszHo_0vzrHpAndKDpLHSSHyAZULyRvgP+wN7DHcbFDPjsFOoTMGCswJXWBifsdzb0Pp1A4Sw9CjLRFaC8oCJezj3z7niaDZBR7HS2o_1FiZXxun5PHapHbEKVEKUZpKunHdUo9OxjV2KUqwdIJ3F0zIn43lNINNhJ0aO6Ryj7FrQqgWChJEU3WlwFeK1obio6qQKjLetIqMxw_S4bRfUogOAXwx+M8y7cErTw+XAA27sQbUCU4coD_0wSelQ2CYw8rIxrjiFxUKCIOhY63Rd_EcqJaMTs$</DATA></PAYLOAD>

URL

Request:

GET /7JGMIVQUKMNDPCW5ET5CRG4JP4KB35LK.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8FE1mhNkWheA%24&PL=sNsc3yQ5RQU%2B9IVKZBI5d%2B6Q2HmepDnPZWwqF1zsxQclJz99iPC0Lb3GHdokQCRwL%2B7BClFOSA7s66FQv9p12DVIUgQ_8N92JSMzCITt2TuyuBGkQCFZB1KRyXwwSUYK4p3dXr7efdM5QkV1T_LFdCJfQgDhitAqyN5qvUA9SmAp881%2BN0xQAuPqvljItQvbKDlDCEiKvAVfTkFolJ6yMsLKHaQmAj8QTPSZXTNPPR_th6hAubgc2UBMVQ9PjNgLJSdUZIDw

Response:

Location: http://wap.ecw.de

Hier eine kurze Anmerkung: Bei einer URL wird im HTTP-Header ein Location-Feld zurückgeliefert. Sobald der Tag mit der Software geladen wurde und Microsoft die Antwort liefert, wird der Standard-Browser des Handys aufgerufen – ohne Nachfrage! Sicherheitstechnisch äußerst bedenklich – man stelle sich nur mal vor, dass man z.B. eine Bank mit einer falschen URL taggt. Der Benutzer nimmt das Tag auf, der Browser öffnet sich und der Nutzer sieht die gefälschte Bank-Seite.

vCard (mit Passwort)

Request:

GET /KV4PWBAKHRXTHEGERKNRYY3YKY4PIMYZ.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8FE1shOYWheA%24&PL=u6Ad3j4pJwMiiPcxZAsqBO2GzWTuvHS7FghEEkeI3g4uXD58kuDWK6G6b6EkWTcDLPjUCSFXN3qfj89VpL5u0T4zUwUl4L1wOV9Bc4T0ykixrgSnMDgmcyH1p3krLV0D6ebcX6TOH9UlPjcOT%2BvWByFJVwORk69eu7oEuFtZUWkiiMx_LVwyBP%2BWzCPIrBioKy9WCziTw3EsKi9tj_qpO8mxHKU8El0WUIjrJjNWLmzukb1DyaFjrTMoOwpU6MMCLlxVZZrg

Response:

<PAYLOAD><NAME>vCard protected</NAME><PIN>1</PIN><DATA>s61ur1A7XGooj8JqXDc9HIPlxTnMvxujU1pdGjOKug5IJk5xlZ64O9bTYM5HMjUHNpW2GyArNwv66e0a2rB9r0wxIRFX7bxJDjs5d5O_gX73j1yAbw9pY1bI6VZ1aA5mg5qtdIS6GKkiPVcWLuXJd0YsQRvew7dUurIf20o+UHYrnbgTI3N8ZIiF20HBoQSiVDkzEkbNhX8lS0wcnYPYSLTCEMw_UhQzLZLAAk4sNgf81pk_wKwW00deSgch47YTTCxSbJWe2wj4gRz9ZwMlIRby8l9fMzBw_u6hQsjJAKpGOFE$</DATA></PAYLOAD>

Freitext
Request:

GET /I6YA3RA6VSFCYMAO5AI7XYQAZKBJNJZD.aspx?Level=1&VID=1%2B71&TH=_%2BxrkrK8FE1vhN4WheA%24&PL=pKQToEA4JxxD7IQ6exQsDI2Iwh3ipma9bA9VGUCIqQsxWDAC7PHWNMDeHKo7RjELTPbbdS1MSHzliN5eo74Z1CE3XXtb8b1vWDsyeJvrzEDRoAvbPCNZdVvytnIsLSoG9uLSIdrfH8pEWkQFUPTQD0FHWH%2BdiNBYwb0Vs1xZJmw9jMIBU00yG57yvyjXsx6gSyFZdzSIvHdWLT5miPrePta1EttCA10JMeyYLSxJKGSOn7I_xbocq0kvKgFT6LQHMVhbG%2BTx

Response:

<PAYLOAD><NAME>Free Text</NAME><PIN>0</PIN><DATA>r6QEsUVaVGZOm9MVWDszHo_0vTzeonHOUytWESKQ3gVLLjl5kfK5IsvFGaJYLDsPHq_pOTExB1i37Mo4z70FoCc$</DATA></PAYLOAD>

Anmerkungen
Die zu ladende Datei (….aspx) und der GET-Parameter “TH” ergeben eventuell die ID. Ich habe zwei verschiedene Schnappschüsse des FreeText-Tags gemacht und jedesmal war die ASP-Seite und der TH-Parameter identisch. Der PL-Parameter änderte sich hingegen. Liefert Microsoft da eventuell irgendwelche GPS-Koordinaten mit? Ich kann leider die Daten nicht entschlüsseln – die Strings scheinen zwar Base64-codiert zu sein. Ein Encoding brachte aber kein verwertbares Ergebnis.

Vielleicht kann irgendwer mit diesen Erkenntnissen etwas anfangen. Viel interessanter fände ich es, wenn man seinen eigenen Tag-Provider hinterlegen könnte und wenn das Protokoll vor allem offen und standardisiert wäre.

Btw: Mit Hilfe des Tags könnte man z.B. eine Türklingel für das Eingangsschild der Wohnung realisieren: Tag an das Namensschild, Gast ent-taggt das Foto, Windows Live ruft eine URL auf dem Home-Server des Gastgebers auf. Das dahinter-hinterliegende Script startet den Musik-Player… Eigentlich ganz cool 🙂

Kontakte vom P910i zum HTC Touch Diamond übertragen

Szenario: Alle Kontakte aus dem P910i auf das HTC Touch Diamond übertragen ohne dass die Kontakte auf der SIM-Karte liegen. Es steht kein Windows-System zur Verfügung, sondern nur Linux.

1. Auf dem P910i unter Kontakte > Markieren > Alle auswählen und die Kontakte an das Linux-System per Bluetooth senden.
2. Auf dem Linux-Rechner existiert nun eine Alle.vcf. Diese kann nicht direkt an HTC Touch Diamond übertragen werden. Windows Mobile 6.1 kommt -zumindest bei mir- nicht damit klar, dass in der VCF mehr als Eintrag vorhanden ist. Das Senden per Bluetooth schlägt mit der Fehlermeldung “Senden fehlgeschlagen – die Dateien wurden nicht vollständig übertragen” fehl.
3. Folgendes PHP-Script im Verzeichnis ausführen, in dem die Alle.vcf liegt:

<?php
$iEntry = 1;
$content = file_get_contents("Alle.vcf");
$buffer = "";

$lines = explode("rn", $content);
$line = "";

for ($i = 0, $m  = sizeof($lines); $i < $m; $i++) {
  $line = $lines[$i];
  $buffer .= $line . "n";

  if ($line == "END:VCARD")	{
    echo "Writing to " . $iEntry . " :n";
    file_put_contents("vc.".$iEntry.".vcf", $buffer);
    $buffer = "";
    $iEntry++;
  }
}
?>

4. Es existiert nun für jeden Kontakt eine einzelne VCard. Diese müssen mit

# Vorher eventuell ein apt-get tofrodos machen
unix2dos -u *.vcf

in das DOS-Format konvertiert werden (ich weiß, dass ich das auch gleich in das PHP-Script hätte packen können)

5. Über das Gnome-Bluetooth-Applet alle vc.*.vcf-Dateien auswählen und per Bluetooth an das HTC Touch Diamond übertragen – vorher natürlich die SIM-Karte wechseln.