Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Numer GG
anonim




Typ: Nie zarejestrowany
Numer GG

W jaki sposob mozna odczytac numer domyslnego konta GG?

05-12-2004 00:45
  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

1) Co to jest "domyślne konto GG"
2) Skąd odczytać?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

05-12-2004 11:33
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
anonim




Typ: Nie zarejestrowany

Przepraszam za niedopecyzowanie, mialem na mysli:
1) domyślne konto GG - domyslny profil w programie Gadu-gadu (jezeli kilka osob uzywa GG na jednym komputerze to są tam tzw profile :-) np "Ania", "Wojtek"
2) jak za pomoca VB odczytac jaki jest numer GG tego profilu

05-12-2004 12:09
  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Jak znaleść numer który był ostatnio włączony, to nie wiem. Wiem że numer znajduje się w pliku config.dat. Jeżeli już wyciągniesz numer z pliku, odczytasz go funkcją:

Function numer(ByVal kod As String)
Dim i As Long, a As Long
For i = 1 To Len(kod)
a = a + Asc(Mid$(kod, Len(kod) - i + 1, 1)) * (256 ^ (Len(kod) - i))
Next
numer = a
End Function


_____________________________________________
www.mob.abc.pl - moja strona o VB

05-12-2004 12:42
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Nazwa ostatnio używanego profilu jest zapisana w rejestrze w:
HKEY_LOCAL_MACHINE\Software\Gadu-Gadu\Gadu-Gadu\Startup
w wartości LastProfile.

Natomiast nie mam pewności co do tego, gdzie jest przechowywany numer. Na pewno w pliku config.dat w katalogu %GG%\users\%gg_profile% [%GG% - katalog GG, %gg_profile% - nazwa profilu]. Z tego co widzę po ciągu znaków "Number" w tym pliku pojawia się ciąg 3 bajtów, których wartość jest taka sama jak numer GG... zatem może to być właśnie to. Struktura wpisu:

6 bytes  Number
2 bytes  [00][01]
3 bytes  <wartość>
1  byte  [00]



_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

05-12-2004 13:04
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
anonim




Typ: Nie zarejestrowany
Dziala !!!

Wielkie Wam dzieki jest tak jak mowiliscie

oto kod:

Private Sub Command1_Click()
Dim plik As String
Dim wart As String
Dim dane As String

plik = "C:\Program Files\Gadu-Gadu\users\Ja\config.dat 'sciezka do pliku config.dat
Open plik For Input As #1
Input #1, dane
Close 1
wart = Mid(dane, InStr(1, dane, "Number" + 7, 3)
numer (wart)
End Sub

Function numer(ByVal kod As String)
Dim i As Long, a As Long
For i = 1 To Len(kod)
a = a + Asc(Mid$(kod, Len(kod) - i + 1, 1)) * (256 ^ (Len(kod) - i))
Next
numer = a
MsgBox numer
End Function

05-12-2004 15:32
  
anonim




Typ: Nie zarejestrowany

a wiecie moze jeszcze cos na temat hasla?
Wiem ze jest zapisane w tym samym pliku i domyslam sie ze zaczyna 3 bajty po lancuchu "Password2"
Ale jaki jest algorytm hashowania?
widzialem jakis w c++ nawet chyba marcin_an go podawal, ale jak wygladaloby to w vb ?

05-12-2004 15:42
  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Był podany kod w jednym z wątków, nie pamietam którym - w C++.
Ten sam (lub podobny) jest podany w dokumentacji udostępnionej przez EKG (http://dev.null.pl/ekg/docs/protocol.html).
Na VB narazie nie przetłumaczono.

Mnie natomiast coś zastanawia - w GG hasło jest zahashowane w pliku, i jest zahashowane podczas wysyłania. Ale na karcie ustawień nie jest. Pytanie brzmi: w jaki sposób klient GG wie, jakie to jest hasło, skoro to jest hash (czyli z założenia jest algorytmem jednostronnym)?


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

05-12-2004 17:14
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

W protokole GG nie ma nic o zapisie hasła do pliku, ponieważ nie jest ono w takiej postaci wysyłane. Klient najpierw musi je odkodować. Ja bym sprawdzał jakie zmiany zajdą po zmianie hasła gg w pliku konfiguracyjnym i na ich podstawie znaleść klucz.

Do Marcina: hasło w pliku nie jest zahashowane, jest zakodowane. Protokół nie został przetłumaczony na GG tylko dlatego, że trudno jest hashować hasło w VB.

[Post edytowany dnia 05-12-2004 19:16 przez bisiek]


_____________________________________________
www.mob.abc.pl - moja strona o VB

05-12-2004 19:13
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Sądziłem, ze to, co jest w pliku to to samo, co jest wychodzi ze wspomnianej już procedury hashującej. Ale jeśli to tylko zwykłe szyfrowanie, to rzeczywiscie nie ma takiego problemu (poza tym, że w tej chwili nie wiem w jaki sposób GG to robi).

"Protokół nie został przetłumaczony na GG tylko dlatego, że trudno jest hashować hasło w VB."
Nie za bardzo rozumiem...


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

05-12-2004 19:59
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Większa część protokołu została napisana dla języków z rodziny C. Hashowanie hasła jest fragmentem napisanym w C++ i ten kawałek kodu jest trudo przetłumaczyć na VB.


_____________________________________________
www.mob.abc.pl - moja strona o VB

05-12-2004 20:38
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

W kodzie w cpp jest taka linia:

for (x = 0; *password; password++)

Na moje oko wynika z tego, że ma to powtarzać dopuki password nie będzie równy 0 i w tym celu... zwiększa za każdym razem password? Coś mi tu nie gra. Resztę mogę bez problemu przepisać na VB.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-12-2004 03:27
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
bisiek




Typ: neutral
Postów: 487
Zarejestrowany: Jul 2003

Wg. mnie jest to pętla od 0 do *password. Gdzieś na forum jest ten kod przepisany, ale problem polega na tym, że po przepisaniu nie będzie działać lub będzie działać źle.


_____________________________________________
www.mob.abc.pl - moja strona o VB

06-12-2004 09:26
Pokaż profil bisiek  Wyślij email do bisiek   Odwiedź stronę bisiek       3380672
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Już wiem co to jest i błąd leżał po mojej stronie - miałem chyba jakieś zaćmienie . Oczywiście pętla nie czeka aż wskaźnik będzie równy 0, ale wskazywany element będzie równy 0. Na forum jest jakaś próba przepisania, ale podobno nie działa. Postaram się przepisać po powrocie do domu.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

06-12-2004 13:45
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
anonim




Typ: Nie zarejestrowany

extra :-)
czekam na to tlumaczenie z wielka niecierpliwoscia. Numer juz mam i uz jest extra jak bedzie haslo to bedzie jeszcze lepiej :-)

06-12-2004 17:19
  
anonim




Typ: Nie zarejestrowany
zmienne

wie ktos moze co to sa za wartosci te x, y i z ?

06-12-2004 17:59
  
marolek



Typ: neutral
Postów: 17
Zarejestrowany: Apr 2004
numer

udało mi sie także napisać funkcję rozkodowania hasła do konta GG z łańcucha wydobytego z pliku config.dat (ciąg wielkich liter za łańcuchem "Password2"

Function haslo(ByVal ciag As String)
Dim znak As String, znak1 As String, znak2 As String
Dim wartosc As Integer

For i = 1 To Len(ciag) Step 2
para = Mid(ciag, i, 2)
znak1 = Left(para, 1)
znak2 = Right(para, 1)
If znak2 = "D" Then wartosc = -17
If znak2 = "G" Then wartosc = 31
If znak2 = "H" Then wartosc = 47
znak = znak + Chr(Asc(znak1) + wartosc)
Next i
haslo = znak
End Function

Tak więc mam wszystko: numer + hasło :-)


_____________________________________________
Pozdrawiam
marolek

06-12-2004 23:06
Pokaż profil marolek  Wyślij email do marolek        3456782
Wszystkich odpowiedzi: 16 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1