Вверх ↑
Ответов: 95
Рейтинг: 1
#1: 2016-12-05 00:37:42 ЛС | профиль | цитата
Поднимал данную тему пару месяцев назад на форуме , но так и не нашёл решения.
В общем нужна помощь с подключением к чату "Галактика Знакомств" через 152 протокол с использованием хеша, Исходник на Delphi есть и необходимые компоненты для дальнейшей разработки программы но нет знаний в работе с Delphi хотелось бы осуществить это всё в Hiasm.

Исходник Delphi + необходимый компонент OverbyteIcsV8Gold - [url]myasm.ueuo.com/files/Galaxy152Delphi.zip[/url]
Хеш для Hiasm - [url]myasm.ueuo.com/files/Hash152.zip[/url] (Огромное спасибо Netspirit за написание его под Hiasm)
необходимо положить в папку Code.

Cхема :

Add(MainForm,2953706,315,224)
{
Width=375
Height=465
Position=1
link(onCreate,16482401:doOpen,[])
}
Add(Edit,16355833,245,217)
{
Left=5
Top=25
Width=145
Ctl3D=1
Text="15s24vpoo2"
Alignment=2
}
Add(Label,16268837,217,77)
{
Left=5
Top=10
Width=106
Height=17
Caption="Код востановления:"
}
Add(Label,4084884,135,73)
{
Left=5
Top=50
Width=26
Height=17
Caption="Лог:"
}
Add(Memo,7124130,546,238)
{
Left=5
Top=65
Width=225
Height=125
Ctl3D=1
AddType=1
ScrollBars=2
}
Add(TCP_Client,16482401,371,238)
{
Port=6667
IP="95.172.133.164"
link(onRead,5432023:doCharset,[])
}
Add(Charset,5432023,427,238)
{
Type=7
link(onCharset,7124130:doAdd,[])
}
Add(FormatStr,4120375,245,273)
{
Mask=":ru IDENT 152 -1 4030 1 2 :GALA\r\nRECOVER %1\r\nPHONE 360 640 1 2 :MPP_v.8.0.12\r\n"
link(onFString,7592917:doWork2,[])
link(Str1,16355833:Text,[])
}
Add(Button,3527773,161,273)
{
Left=160
Top=20
Width=70
Height=25
Ctl3D=0
Caption="Go"
link(onClick,4120375:doString,[])
}
Add(InlineCode,11970995,241,366)
{
WorkPoints=#10:doCalcHash|
EventPoints=#8:onResult|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|4:uses|22: KOL, Share, Hash152;|0:|4:type|21: THiAsmClass = class|11: private|0:|10: public|21: Str: THI_Event;|29: onResult: THI_Event; |58: procedure doCalcHash(var _Data: TData; Index: Word);|6: end;|0:|0:|14:implementation|0:|0:|0:|65:procedure THiAsmClass.doCalcHash(var _Data: TData; Index: Word); |3:var|14: Hash: string;|5:begin|57: Hash := Hash152.CreateHash(ReadString(_Data, Str, ''));|42: _hi_CreateEvent(_Data, @onResult, Hash);|4:end;|0:|4:end.|
link(onResult,9952672:doWork3,[(340,372)])
link(Str,12725161:Text,[])
}
Add(Button,14778441,183,366)
{
Left=60
Top=220
Width=80
Height=25
Ctl3D=0
Caption="Hash"
link(onClick,11970995:doCalcHash,[])
}
Add(Label,7710592,175,75)
{
Left=5
Top=240
Width=49
Height=17
Caption="Запрост:"
}
Add(Memo,10086970,544,352)
{
Left=5
Top=255
Width=355
Height=140
Ctl3D=1
Strings=#31::ru IDENT 152 -1 4030 1 2 :GALA|18:RECOVER 15s24vpoo2|31:PHONE 360 640 1 2 :MPP_v.8.0.12|
}
Add(Button,5030718,496,414)
{
Left=5
Top=400
Width=80
Height=25
Ctl3D=0
Caption="Send"
link(onClick,12470601:doData,[])
}
Add(DoData,12470601,544,414)
{
link(onEventData,16000069:doWork,[])
link(Data,10086970:Text,[])
}
Add(LineBreakEx,16000069,588,414)
{
}
Add(LineBreakEx,7187201,294,288)
{
Type=1
link(OnEvent,7592917:doWork3,[(333,294)])
}
Add(HubEx,7592917,329,273)
{
link(onEvent,9952672:doWork2,[])
}
Add(Edit,12725161,241,324)
{
Left=5
Top=195
Width=135
Text="??"
}
Add(HubEx,9952672,336,273)
{
link(onEvent,16482401:doSend,[(359,279)(359,258)])
}


В данном примере я дохожу до получения ID;Pass;Nick пользователя далее нужен шаг для входа в сам чат уже с использованием хеша понял по куску исходника Delphi :

WSocket1.Sendline('USER '+TS[1]+' '+TS[2]+' '+Nick+' '+hash);


Хеш генирирует какой то код как я понял его нужно отправить обратно на сервер , проделал сотни вариантов методом тыка в итоге ничего не получилось одни синтаксические ошибки от сервера.

Может кто то сможет помочь в данной проблеме

5.jpg
карма: 0

0
Редактировалось 2 раз(а), последний 2016-12-05 00:42:03