Jumping Jack Flash weblog

Esportazione appunti (Jotter) da cellulari Symbian UIQ 2.x (p800, p900, Motorola a1000)

Pubblicato da jumpjack su 21 Febbraio 2008

I telefoni UIQ 2.x usano per gli appunti un formato particolare, probabilmente proprieario, binario,
incompatibile con qualunque altra applicazione. Su alcuni modelli è FORSE possibile esportali tramite
SyncML, ma in ogni caso non sul mio Motorola a1000.

Questo è uno studio di reverse engineering sul formato del jotter, che dovrebbe portare, con l’aiuto di chi legge,
a scrivere un programma per PC in grado di esportare le note del Jotter.

Gli appunti sono organizzati su due file:

c:\system\apps\jotter\jotter.ini  File delle categorie

c:\documents\jotter\jotter  File dei dati

Il file jotter.ini sembra contenere il percorso c:\documents\jotter\jotter tante volte quante sono le
categorie esistenti, incluse quelle predefinite Generale e Personale.

E’ inoltre presente l’elenco delle categorie; ogni entry è formato da:

un  byte che indica la lunghezza del testo MOLTIPLICATA PER 4 (???)

il testo

4 byte che rappresentano l’UID della categoria; il terzo di questi byte vale 0×10 se la categoria è
“di sistema” (Generale, Personale, e forse un’altra (???)  ).

La categoria “Tutto” ha l’UID speciale ff ff 00 00

Categoria ”Personale”: 01 10 00 00

Categoria ”Generale”: 02 10 00 00

Sembra che, A VOLTE (???), aggiungendo una nuova categoria, questo elenco non vnga aggiornato, ma quello nuovo viene accodato a quello vecchio.

Le categorie sono elencate in ordine alfabetico.

E’ POSSIBILE che cambiando i percorsi associati alle categorie si possa usare un file Jotter
diverso per ogni categoria (???). Forse bisogna prima creare a mano le cartelle (???).

Il file Jotter contiene i dati degli appunti. Ogni entry è formato da 6 campi (elencati all’inizio del file):

Create_date (8), Update_date (8), Flags (8) , UID (4) , Sketch (6), Text_Jot (xxx)

Le date sono in formato symbian standard (vedi articolo apposito).

I flag sono sempre tutti a 00 00 00 sul mio A1000.

L’UID è ovviamente quello della categoria associata.

“Sketch” è presente solo se c’e' un disegno associato alla nota

Text_jot è formato da 2 byte:

- se il primo vale 0×00, il secondo indica IL DOPPIO della lunghezza della stringa dell’appunto.

- se il secondo vale 0×40, il primo indica la lunghezza ESATTA della stringa

- se il secondo vale 0×4Y e il primo 0xQR, con Y=qualunque , allora la lunghezza della stringa è data da 0×0YQR

Probabilmente questo schema è descrivibile in un modo piu’ sensato, che al momento non mi viene in mente…

PROBLEMA: non tutti gli appunti rispettano questo schema: alcuni sono semplicemente stringhe
precedute dalla loro lunghezza!

Questo pero’ puo’ dipendere che il Jotter sul mio a1000 è stato ”ereditato” dal SonyEricsson p800
che avevo prima, per cui forse c’e' stato un miscuglio di formati.

PROBLEMA2: bisogna scoprire se esiste una tabella di indirizzi che punta ai vari entry, per individuare
anche quelli ”speciali” senza intestaiozne.

Questa prima bozza di programma è in grado di estrarre ALCUNI degli appunti (solo se successivi
al 2003), individuandoli tramite le loro date:

http://www.planetmobile.it/jumpjack/ReadJotter.zip

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>