Autor Wątek: import archiwum z Konnekta  (Przeczytany 15725 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: import archiwum z Konnekta
« Odpowiedź #20 dnia: Maj 29, 2009, 10:12:52 am »
*Wzdech* No dobrzeee, jaki był format tego XML?

Offline Quadracik

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #21 dnia: Maj 29, 2009, 12:49:53 pm »
no to jedziemy, najpierw mały przykład a potem trochę objaśnień:

<?xml version="1.0" encoding="Windows-1250"?>
<?xml-stylesheet type="text/xsl" href="C:\Program Files\Konnekt\data\history\exported renderer.xsl"?>
<history>
  <info>
  <date>29-05-2009 12:28</date>
  <profile>Prymek</profile>
  </info>
  <contact name="Kaworu" info="">
    <chat date="19-03-2009" time="10:52">
      <message name="Prymek"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >Heya :-)</message>
      <message name="Kaworu"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="640"  fromUid="487xxx"  toUid=""  ext="" >Rawr ;&#38;#62;</message>
      <message name="Prymek"  date="19-03-2009" time="10:53"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >właśnie trafiłem na k2t.eu ;-)</message>
      <message name="Kaworu"  date="19-03-2009" time="10:53"  net="10"  type="1"  flag="640"  fromUid="487xxx"  toUid=""  ext="" >Przepraszam&#63; ;P</message>
    </chat>
  </contact>
  <dir name="487xxx" info="">
    <chat date="19-03-2009" time="10:52">
      <message name="Prymek"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >Heya :-)</message>
      <message name="Kaworu"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="640"  fromUid="487xxx"  toUid=""  ext="" >Rawr ;&#38;#62;</message>
      <message name="Prymek"  date="19-03-2009" time="10:53"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >właśnie trafiłem na k2t.eu ;-)</message>
      <message name="Kaworu"  date="19-03-2009" time="10:53"  net="10"  type="1"  flag="640"  fromUid="487xxx"  toUid=""  ext="" >Przepraszam&#63; ;P</message>
    </chat>
  </dir>
  <contact name="Kaworu" info="">
    <message name="Prymek"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >Heya :-)</message>
  </contact>
  <dir name="487xxx" info="">
    <message name="Prymek"  date="19-03-2009" time="10:52"  net="10"  type="1"  flag="2"  fromUid=""  toUid="487xxx"  ext="" >Heya :-)</message>
  </dir>
  <dir name="100xxx;112xxx;116xxx;137xxx;198xxx@10" info="">
    <chat date="16-09-2003" time="20:52">
      <message name=""  date="16-09-2003" time="20:52"  net="20"  type="1"  flag="256"  fromUid="137xxx"  toUid="100xxx;112xxx;116xxx;198xxx@10"  ext="&#26;Display=Guru" >ZR!!!!!!</message>
    </chat>
  </dir>
  <dir name="100xxx;112xxx;116xxx;137xxx;198xxx@10" info="">
    <message name=""  date="16-09-2003" time="20:52"  net="20"  type="1"  flag="256"  fromUid="137xxx"  toUid="100xxx;112xxx;116xxx;198xxx@10"  ext="&#26;Display=Guru" >ZR!!!!!!</message>
  </dir>
  <dir name="160xxx;287xxx@10" info="">
    <chat date="04-02-2007" time="18:44">
      <message name="Prymek"  date="04-02-2007" time="18:44"  net="20"  type="1"  flag="2"  fromUid=""  toUid="160xxx;287xxx@10"  ext="" >joł</message>
      <message name="Prymek"  date="04-02-2007" time="18:44"  net="20"  type="1"  flag="2"  fromUid=""  toUid="160xxx;287xxx@10"  ext="" >1,2,3</message>
      <message name="Marbel, Paweł Żelazko"  date="04-02-2007" time="18:37"  net="20"  type="1"  flag="128"  fromUid="160xxx;287xxx@10"  toUid=""  ext="&#26;Display=Paweł Żelazko" >hej</message>
      <message name="Prymek"  date="04-02-2007" time="18:44"  net="20"  type="1"  flag="2"  fromUid=""  toUid="160xxx;287xxx@10"  ext="" >działa&#63;</message>
      <message name="Marbel, Paweł Żelazko"  date="04-02-2007" time="18:38"  net="20"  type="1"  flag="640"  fromUid="160xxx;287xxx@10"  toUid=""  ext="&#26;Display=Paweł Żelazko" >proba</message>
      <message name="Marbel, Paweł Żelazko"  date="04-02-2007" time="18:38"  net="20"  type="1"  flag="128"  fromUid="160xxx;287xxx@10"  toUid=""  ext="&#26;Display=Marbel" >ok</message>
      <message name="Marbel, Paweł Żelazko"  date="04-02-2007" time="18:38"  net="20"  type="1"  flag="640"  fromUid="160xxx;287xxx@10"  toUid=""  ext="&#26;Display=Paweł Żelazko" >u mnie tak</message>
      <message name="Prymek"  date="04-02-2007" time="18:44"  net="20"  type="1"  flag="2"  fromUid=""  toUid="160xxx;287xxx@10"  ext="" >no to ok</message>
      <message name="Prymek"  date="04-02-2007" time="18:45"  net="20"  type="1"  flag="2"  fromUid=""  toUid="160xxx;287xxx@10"  ext="" >wszyscy się widzą wzajemnie&#63; :-)</message>
    </chat>
  </dir>
</history>


no to tak:
  • tag message:
    • data i czas jak widać z dokładnością do sekund....
    • atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )
    • atrybut "ext" ma zastosowanie chyba tylko dla konferencji (patrz niżej)
    • atrybut "fromUid" - UID wysyłającego wiadomość. w przypadku wiadomości wysłanej od nas może być zarówno nasz UID jak i pusta wartość
    • atrybut "toUid" - UID odiorcy wiadomości. w przypadku wiadomości wysłanej do nas może być zarówno nasz UID jak i pusta wartość
    • atrybut "name" może zawierać nazwę wyświetlaną (nazwę wysyłającego wiadomość, pobraną z listy kontaktów), w przypadku konferencji może zawierać listę nadawców (w formie UIDów i/lub nazw wyświetlanych)
  • tag "contact" oznacza to samo co "dir" z tym że mówi dodatkowo, że kontakt jest na liście
    • w przypadku taga "contact" jego atrybut "name" zawiera nazwę z listy kontaktów (UID sobie trzeba odczytać z pierwszej wiadomości)
    • w przypadku taga "dir" jego atrybut "name" zawiera UID
  • konferencje są zawsze (chyba) w tagach dir:
    • uczestnicy konferencji oddzieleni ";" - tylko UIDy
    • na końcu "@10" - nie wiem po co, ale wygląda na regułę
    • nazwę wyświetlaną mamy w atrybucie "ext" - ext="&#26;Display=Guru"
    • często jedynym sposobem na określenie nadawcy jest właśnie sprawdzenie atrybutu "ext" - patrz ostatni <dir> w przykładzie - nazwy są sortowane tak jak UIDy

hmm.. teraz widzę jakie to popierdzielone ;-)

Pozdrawiam,
Adam

Offline zhvir

Re: import archiwum z Konnekta
« Odpowiedź #22 dnia: Maj 29, 2009, 16:29:46 pm »
  • atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )

net="10" - sieć GG
net="33" - sieć AQQ
net="15" - sieć kLAN
net="63" - sieć Tlen
net="12" - sieć Jabber
net="171" itd. - kolejne kopie Jabbera
net="11" - jabberowy transport ICQ
net="60" - jabberowy transport AIM
net="61" - jabberowy transport Yahoo
net="62" - jabberowy transport MSN

net="20" - prawdopodobnie Konferencja
« Ostatnia zmiana: Maj 29, 2009, 16:33:11 pm wysłana przez zhvir »
Chciałbym być zawsze niewinny i prawdziwy, chciałbym być zawsze pełen wiary i nadziei...

Offline Quadracik

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #23 dnia: Maj 29, 2009, 21:49:02 pm »
  • atrybuty "net", "type" i "flag" w zasadzie nieistotne (czyt. nie wiem co oznaczają ;-) )

net="10" - sieć GG
net="33" - sieć AQQ
net="15" - sieć kLAN
net="63" - sieć Tlen
net="12" - sieć Jabber
net="171" itd. - kolejne kopie Jabbera
net="11" - jabberowy transport ICQ
net="60" - jabberowy transport AIM
net="61" - jabberowy transport Yahoo
net="62" - jabberowy transport MSN

net="20" - prawdopodobnie Konferencja

o dzięki za uzupełnienie :-)
używam tylko GG więc nie mogłem sprawdzić :-) a na forum konnekta się nie doszukałem...

Pozdrawiam

Offline aju90

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #24 dnia: Czerwiec 09, 2009, 11:20:31 am »
I jak powstanie ta wtyczka czy nie bardzo? :(

Offline kidman64

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #25 dnia: Czerwiec 09, 2009, 17:26:36 pm »
Ta opcja juz jest w komunikatorze, tylko (chyba) nie umiem jej zmusic do dzialania. klepie 'importuj z konnekta' i nic sie nie dzieje. W kazdym razie jest taka opcja w archiwum. Uzywam nightly builda z 07.06.09 (kompilacja 500)
Witam btw;)

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: import archiwum z Konnekta
« Odpowiedź #26 dnia: Czerwiec 09, 2009, 18:03:17 pm »
Well, jest przycisk, to fakt ;P

Offline aju90

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #27 dnia: Czerwiec 10, 2009, 00:07:40 am »
tzn. jest ale nie działa?? :D
Wiadomo kiedy będzie działać ;) ?

Offline Loringus

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #28 dnia: Czerwiec 10, 2009, 00:53:50 am »
Wiadomo kiedy będzie działać ;) ?

"When it's done."

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: import archiwum z Konnekta
« Odpowiedź #29 dnia: Czerwiec 10, 2009, 09:35:39 am »
Poprzednik prawdę napisał. Ale jak nie zapomnę o tym znow to moze w kolejnej becie ;)

Offline LooZ^

  • Młodzież
  • **
Re: import archiwum z Konnekta
« Odpowiedź #30 dnia: Czerwiec 11, 2009, 22:41:33 pm »
To nie zapomnij.

Offline kidman64

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #31 dnia: Czerwiec 12, 2009, 15:39:33 pm »
a jak zapomni to bedziesz tupal?;)
bedzie to bedzie, od zawsze chcialem miec cale archiwum w jednym miejscu.

aiv

  • Gość
Re: import archiwum z Konnekta
« Odpowiedź #32 dnia: Czerwiec 17, 2009, 12:38:19 pm »
Witam

Może nie powinienem chwalić dnia przez zachodem ale ...
Mam już wersję alpha rozwiązania, które odczytuje historię z natywnego formatu konnekta (*.dtb). Zapisanie jej do WTW to pewnie już nie problem. Ja osobiście używam tylko gg, dlatego pozostaje jeszcze kwestia rozróżniania sieci i rozkminienia kilku bajtów.

« Ostatnia zmiana: Czerwiec 29, 2009, 13:34:51 pm wysłana przez aiv »

Re: import archiwum z Konnekta
« Odpowiedź #33 dnia: Czerwiec 17, 2009, 13:38:12 pm »
Mam już wersję alpha rozwiązania, które odczytuje historię z natywnego formatu konnekta (*.dtb).
W sumie nie potrzebne, bo rozmowy z konnekta mozna wyeksportowac do XML'a, a z tego juz krotka droga do importu do WTW

poza tym witam nowego uzytkownika :]
brak ogonków? alt mi wypadł

aiv

  • Gość
Re: import archiwum z Konnekta
« Odpowiedź #34 dnia: Czerwiec 17, 2009, 13:41:19 pm »
W sumie nie potrzebne, bo rozmowy z konnekta mozna wyeksportowac do XML'a, a z tego juz krotka droga do importu do WTW

poza tym witam nowego uzytkownika :]

To dokończę najwyżej sam dla siebie :)

Nie mam już zainstalowanego konnekta i nie będę musiał nic exportować. Docelowo rozwiązanie może przyczyny się do powstania importera który nie wymaga exportu z konnekta, tylko poprostu pracuje na jego plikach.

PS: witam witam :)

Post Merge: Czerwiec 17, 2009, 16:40:27 pm
A wiec, wracając do tematu:
Odczytywanie archiwum Konnekta działa poprawnie. W samym pliku dtb jest sporo dodatkowych informacji które odczytuje, ale pozostaje jeszcze trochę niewiadomych. Po dokończeniu tego mechanizmu, opublikuje kod rozszyfrowujący razem z kluczem i strukturą danych.

Gdyby ktoś chciał pomoc to po wejściu na http://aiv-dev.info/opensource/wtw/ można wgrać dowolny plik archiwum Konnekta i zastanowić się co oznaczają segmenty danych oznaczone H1-7 oraz nagłówek DTB.

Z moich obserwacji wynika:
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
H2 - pole o stałej wielkości, występujące wartości: \x0a\x00\x00\x00, \x14\x00\x00\x00
H3 - pole o stałej wielkości, występujące wartości: \x01\x00\x00\x00
H4 - pole o zmiennej wielkości. Występuje tylko w wiadomościach wychodzących.
H5 - pole o stałej wielkości, występujące wartości: \x00\x00\x00\x00
H6 - pole o stałej wielkości, występujące wartości: \x02\x00\x00\x00, \x02\x02\x00\x00, \x80\x00\x00\x00, \x80\x02\x00\x00, \xc0\x00\x00\x00, \xc0x02\x00\x00
DTB Header w moim przypadku (ok. 10mb plików) dużo się nie zmienia. Używałem tylko sieci GG, a wiec też nie mam pełnej skali porównawczej.

Gdyby komuś podczas testów pojawił się error wraz z kodem błędu i dodatkowymi informacjami to poproszę o skopiowanie na PM.
« Ostatnia zmiana: Czerwiec 29, 2009, 13:34:42 pm wysłana przez aiv »

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
Re: import archiwum z Konnekta
« Odpowiedź #35 dnia: Czerwiec 17, 2009, 19:22:47 pm »
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
64bitowy time_t?

aiv

  • Gość
Re: import archiwum z Konnekta
« Odpowiedź #36 dnia: Czerwiec 17, 2009, 19:39:58 pm »
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
64bitowy time_t?

Raczej nie wychodzi, np:
\x02 \x00 \x00 \x00 \xa1 \x0c \x00 \x40
\x03 \x00 \x00 \x00 \xa6 \x0c \x00 \x40
\x04 \x00 \x00 \x00 \xa7 \x0c \x00 \x40
\x05 \x00 \x00 \x00 \xa8 \x0c \x00 \x40
\x06 \x00 \x00 \x00 \xa9 \x0c \x00 \x40

w int32:
2 1073745057
3 1073745062
4 1073745063
5 1073745064
6 1073745065

Czas wiadomości zapisywany jest w innym polu, jako timestamp.
« Ostatnia zmiana: Czerwiec 29, 2009, 13:34:32 pm wysłana przez aiv »

Offline Quadracik

  • Narybek
  • *
Re: import archiwum z Konnekta
« Odpowiedź #37 dnia: Czerwiec 23, 2009, 15:18:36 pm »
Gdyby ktoś chciał pomoc to po wejściu na http://aiv-dev.info/opensource/wtw/ można wgrać dowolny plik archiwum Konnekta i zastanowić się co oznaczają segmenty danych oznaczone H1-7 oraz nagłówek DTB.

Z moich obserwacji wynika:
H1 - pole o stałej wielkości, 8 ostatnich bajtów to dwie liczby int32 (po 4 bajty) które sobie rosną z każda kolejną wiadomością.
H2 - pole o stałej wielkości, występujące wartości: \x0a\x00\x00\x00, \x14\x00\x00\x00
H3 - pole o stałej wielkości, występujące wartości: \x01\x00\x00\x00
H4 - pole o zmiennej wielkości. Występuje tylko w wiadomościach wychodzących.
H5 - pole o stałej wielkości, występujące wartości: \x00\x00\x00\x00
H6 - pole o stałej wielkości, występujące wartości: \x02\x00\x00\x00, \x02\x02\x00\x00, \x80\x00\x00\x00, \x80\x02\x00\x00, \xc0\x00\x00\x00, \xc0x02\x00\x00
H1 - jak dla mnie będzie to lokalny (w obrębie rozmowy) i globalny (w obrębie całego archiwum) identyfikator wiadomości (kolejna liczba - w obrębie rozmowy zaczyna się od "2")

H2 - odpowiednik atrybutu "net" w eksportowanym XML czyli cytując zhvira:
net="10" - sieć GG
net="33" - sieć AQQ
net="15" - sieć kLAN
net="63" - sieć Tlen
net="12" - sieć Jabber
net="171" itd. - kolejne kopie Jabbera
net="11" - jabberowy transport ICQ
net="60" - jabberowy transport AIM
net="61" - jabberowy transport Yahoo
net="62" - jabberowy transport MSN

net="20" - prawdopodobnie Konferencja
oczywiście powyższe w dziesiętnym

H3 - będzie pewnie odpowiednikiem "type" w eksportowanym xml - u mnie też wszędzie "1"

H4 - 100% w przypadku GG numer odbiorcy, ale jakoś dziwnie zakodowany - każda cyfra numeru osobno na jednym bajcie; każda cyfra (0-9) na każdym kolejnym miiejscu ma swój inny odpowiednik:

      70       24       ca       85       b8       18       3a       a5       67       16
       0        0        0        0        0        0        0        0        0        0

      71       23       cb       86       b9       17       3b       a6       66       15
       1        1        1        1        1        1        1        1        1        1

      72       22       cc       83       ba       16       3c       a3       65       18
       2        2        2        2        2        2        2        2        2        2

      73       21       cd       84       bb       15       3d       a4       64       17
       3        3        3        3        3        3        3        3        3        3

      74       28       ce       89       b4       1c       36       a1       63       12
       4        4        4        4        4        4        4        4        4        4

      75       27       cf       8a       b5       1b       37       a2       62       11
       5        5        5        5        5        5        5        5        5        5

      76       26       d0       87       b6       1a       38       9f       61       14
       6        6        6        6        6        6        6        6        6        6

      77       25       d1       88       b7       19       39       a0       60       13
       7        7        7        7        7        7        7        7        7        7

      78       2c       c2       8d       c0       20       42       9d       5f       0e
       8        8        8        8        8        8        8        8        8        8

      79       2b       c3       8e       c1       1f       43       9e       5e       0d
       9        9        9        9        9        9        9        9        9        9
powyżej masz jak się poszczególne cyfry zachowują jak są na jakim polu - dalej mi się nie chciało rozgryzać. po przeanalizowaniu paru różnych numerków mogę tylko powiedzieć, że sposób kodowania kolejnej cyfry w numerku nie zależy od wartości poprzedniej...

H6 - odpowiednik atrybutu "flag" w eksportowanym xml - nie mam pojęcia co oznaczają

przy okazji - przy wczytaniu konferencji chrzani się data:
1981-05-09 19:18:35 - I€˘ÖżŘţW—=ˇć AŇôAË [116xxxx] do tego czasu będzie
1903-09-26 09:23:39 - @ěOßţW—=ść A [137xxxx] sšsiada trza zaprosić, rozerwie towarzystwo
2027-01-28 07:21:31 - I˘ÖżŘţW—=ˇć AŇôAË [198xxxx] i prawidłowo :-)
to były trzy kolejne wiadomości - numerki wyiksowałem

tyle ode mnie, pozdrawiam
Adam

aiv

  • Gość
Re: import archiwum z Konnekta
« Odpowiedź #38 dnia: Czerwiec 23, 2009, 16:45:44 pm »
H4 - 100% w przypadku GG numer odbiorcy, ale jakoś dziwnie zakodowany - każda cyfra numeru osobno na jednym bajcie; każda cyfra (0-9) na każdym kolejnym miiejscu ma swój inny odpowiednik:
[...]
powyżej masz jak się poszczególne cyfry zachowują jak są na jakim polu - dalej mi się nie chciało rozgryzać. po przeanalizowaniu paru różnych numerków mogę tylko powiedzieć, że sposób kodowania kolejnej cyfry w numerku nie zależy od wartości poprzedniej...

Masz rację. To jest zakodowane mechanizmem konnekta który mam już rozpracowany. Musiałem coś pokopać, że wcześniej tego nie zauważyłem.

przy okazji - przy wczytaniu konferencji chrzani się data:
1981-05-09 19:18:35 - I€˘ÖżŘţW—=ˇć AŇôAË [116xxxx] do tego czasu będzie
1903-09-26 09:23:39 - @ěOßţW—=ść A [137xxxx] sšsiada trza zaprosić, rozerwie towarzystwo
2027-01-28 07:21:31 - I˘ÖżŘţW—=ˇć AŇôAË [198xxxx] i prawidłowo :-)

Poprawione
Wprowadziłem już dekodowanie H4 i H5 (to wygląda jak konfiguracja od konferencji)
A więc wygląda że mamy całość.
« Ostatnia zmiana: Czerwiec 29, 2009, 13:34:20 pm wysłana przez aiv »

Offline zimaq

Re: import archiwum z Konnekta
« Odpowiedź #39 dnia: Czerwiec 23, 2009, 23:04:53 pm »
To teraz jeszcze właściwy import do WTW i wszyscy będą szczęśliwi ;-)