Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

нужна помощь С++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> нужна помощь С++
Имя
Сообщение << Старые топики   Новые топики >>
нужна помощь С++ - 2011-12-14 15:27:35.590000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
хочу написать программу  для авторизации на сервере icq.что то вообще утонул в спецификации на протокол оскар.если у кого то есть какие то наработки можете поделиться.
Post #: 1
RE: нужна помощь С++ - 2011-12-14 16:01:31.250000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Гугл в помощь
Post #: 2
RE: нужна помощь С++ - 2011-12-14 20:22:53.400000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
юзал….я так понимаю у меня знаний не хватает работы с пакетами….вот хочу хоть с каких то примеров надыбать чтоб проще было разбираться(и с пакетами и с протоколом)….
Post #: 3
RE: нужна помощь С++ - 2011-12-14 23:00:33.830000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Начни с понятия сокетов, если не хочешь использовать готовые компоненты. Напиши простейший клиент-сервер. Примеров в инете - навалом.
Post #: 4
RE: нужна помощь С++ - 2011-12-15 04:45:42.036666   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
о сокетах имею достаточно хорошие представления….есть опыт написания простых сетевых приложений..работал с протоколом смтп…куда дальше копать?
Post #: 5
RE: нужна помощь С++ - 2011-12-15 09:38:52.800000   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
В сторону работы с протоколом icq
Post #: 6
RE: нужна помощь С++ - 2011-12-15 10:07:22.880000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
блин ты капитан очевидность…по подробнее можешь как то?
Post #: 7
RE: нужна помощь С++ - 2011-12-15 10:38:16.953333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Могу, хотя я и так очень точно и подробно отвечаю на твои вопросы (в соответствии с их глубиной).
Post #: 8
RE: нужна помощь С++ - 2011-12-15 11:35:18.270000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: shkolote attake
если у кого то есть какие то наработки можете поделиться.

Да. У гугла есть. libpurple называется.
Post #: 9
RE: нужна помощь С++ - 2011-12-15 12:21:43.823333   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
чтож посидел сча с прогой и с протоколом-есть результаты. получил дамп тестового FLAP пакета.
вот что пока наработал
/ #include "stdafx.h" #include &lt;windows.h&gt; #include &lt;winsock2.h&gt; #include &lt;stdio.h&gt; #pragma comment(lib,"wsock32.lib") #include &lt;iostream.h&gt; SOCKET s; struct sockaddr_in addr; hostent *d_addr; int main() { WSADATA wsaData; &nbsp;&nbsp;&nbsp; int wsaret=WSAStartup(0x101,&amp;wsaData); if(wsaret!=0) &nbsp;&nbsp;&nbsp; { cout&lt;&lt;"WSAStartup false"&lt;&lt;endl; cin.get(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1; &nbsp;&nbsp;&nbsp; } // создаем сокет s = socket (AF_INET, SOCK_STREAM, 0); if (s == INVALID_SOCKET) { printf("Error in socket(...)\n"); return 1; } // получаем адрес сервера d_addr = gethostbyname ("login.icq.com"); if (d_addr==NULL) { printf("Error in gethostbyname(...)\n"); return 1; } // заполняем параметры адреса addr.sin_family = AF_INET; addr.sin_addr.s_addr = *((unsigned long *) d_addr-&gt;h_addr); addr.sin_port = htons (5190); // устанавливаем соединение if (SOCKET_ERROR == (connect (s, (sockaddr *) &amp;addr,sizeof (addr)))) { printf("Error in connect(...)\n"); return 1; } unsigned char Buf[4096]={0}; //получаем данные с сервера,Flap пакет int SizeData = recv(s, (char*)Buf, sizeof(Buf), 0); if(SizeData == SOCKET_ERROR) { cout&lt;&lt;"recv error 1"&lt;&lt;endl; cin.get(); return 0; } cout&lt;&lt;"Recived packet"&lt;&lt;endl; for(int i=0;i&lt;SizeData;i++) cout&lt;&lt;" 0x"&lt;&lt;hex&lt;&lt;(unsigned short int)Buf[i]; cout&lt;&lt;endl; } [/i]
Post #: 10
RE: нужна помощь С++ - 2011-12-15 12:58:54.076666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Ну, кроме вывода массива на экран, тут весь код из мсдн? максимум ещё пару букв отличаются. Наработал… ;) Но что начал хоть что-то - молодец. rgo тебе, в принципе, всё уже подсказал, осталось скачать, прикрутить и допилить.
Post #: 11
RE: нужна помощь С++ - 2011-12-15 15:23:54.710000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
короч такая проблема вроде разобрался что нужно засовывать в дамп но встала проблема с формированием дампа(массива)…как например логин пароль правильно запихнуть в дамп?в какую сторону копать?
Post #: 12
RE: нужна помощь С++ - 2011-12-15 15:32:56.753333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
В сторону объявления корректной структуры и её сериализации в массив. Для того, чтобы правильно сериализовать стоит почитать спецификацию.
Post #: 13
RE: нужна помощь С++ - 2011-12-27 16:48:01.340000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
структуру вроде как примерно набросал…а вот с сериализацией проблемы пока(знаний маловато)…короч походу придётся браться за  STL….на новогодние праздники возьмусь сча пока времени нет…
_SAZ_ может ещё чего посоветуешь?
Post #: 14
RE: нужна помощь С++ - 2011-12-27 20:54:51.196666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Посоветую начать с основ программирования.
Post #: 15
RE: нужна помощь С++ - 2011-12-29 20:34:29.686666   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
DEL…разобрался с вопросом
Post #: 16
RE: нужна помощь С++ - 2011-12-30 16:50:39.770000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
короч начал вытягивать из пакета  ключ для MD5 шифрования пароля и возникла такая проблема..
есть такая конструкция
for( i=SizeData;i&gt;0;i--){ if((unsigned short int)Buf[i]==SizeData-1-i) break; cout&lt;&lt;(char)Buf[i]; } надо то что он выводит в cout при проходе цикла записать в новый массив причем наоборот
допустим выводит
1234567
надо
7654321 и это было в новом массиве…
Post #: 17
RE: нужна помощь С++ - 2012-01-06 19:52:30.530000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
опять нужна помощь, ошибка я знаю какая то глупая но найти её не могу…
дело в следующем есть функция которая хеширует пароль ключом(работает сто процентов):
char* hmac_md5(char* text,char* key) далее я выдираю ключ из пакета ниже приведён код вытаскивания ключа из пакета и переворачиваю его
  char hesh_key[11]={0}; for( i=SizeData;i&gt;0;i--){ &nbsp;if((unsigned short int)Buf[i]==SizeData-1-i) break; &nbsp;&nbsp;&nbsp;&nbsp; hesh_key[SizeData-i-1]=(char)Buf[i]; } //переворачиваю ключ char *start, *end; int len; char t; &nbsp;len=strlen(hesh_key); &nbsp; start=hesh_key; &nbsp;&nbsp; end=&amp;hesh_key[len-1]; while(start&lt;end){ &nbsp;&nbsp;&nbsp; t=*start; &nbsp;&nbsp;&nbsp;&nbsp; *start=*end; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *end=t; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; start++; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end--;} &nbsp;&nbsp; cout &lt;&lt;"Heashing KEY:"&lt;&lt; hesh_key &lt;&lt; endl; &nbsp;&nbsp;&nbsp; printf("%s",hmac_md5("pass","&amp;hesh_key[0]")); при передаче в функцию ключа хеш не верно считается…когда вожу ключ в функцию ручками считает нормально…
где то я напутал с указателями но вот где….помогите плиз..
Post #: 18
RE: нужна помощь С++ - 2012-01-06 20:24:05.410000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
во тупил ппц…всё разобрался…
Post #: 19
RE: нужна помощь С++ - 2012-01-08 01:08:50.003333   
Konkustador

Сообщений: 10
Оценки: 0
Присоединился: 2010-09-07 17:00:11.700000
Ребята кому не впадло распишите видео по полочкам
http://www.youtube.com/watch?feature=player_embedded&v=7Ws3J9HYJIo#!
Я просто начинающий программист и с этим языком еще не работал
Это программа очень нужна есть некоторые подозрения насчет моей девушки…
Post #: 20
RE: нужна помощь С++ - 2012-01-08 15:15:51.296666   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
Konkustador я думаю для начала тебе нужно создать новую тему и возможно тебе помогут…
Post #: 21
RE: нужна помощь С++ - 2012-01-10 20:11:55.316666   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
вопрос такой возник если я допустим буду пересылать пакет с логином и паролем в несколько заходов функцией send(),допустим сначала одну часть пакета потом другую…смысл данных пакета от этого не потеряется?
делаю в данный момент так, что то пока сервер молчит(ни ответа ни привета)..  
Post #: 22
RE: нужна помощь С++ - 2012-01-12 20:06:13.253333   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
что то я не до конца понял в описании протокола пишут что md5 хеш в пакете занимает 16 байт…получатся у нас хеш в пакете должен быть представлен в виде массива unsigned short int?я правильно понимаю?
получается если есть какой то хеш
43f45777jfhd…
его надо отправлять как 43 f4 57 только так ведь он будет занимать 16 байт…
потому что ведь если брать хешь в виде char массива он будет занимать 32 байта…
что то я совсем утонул..



 
Post #: 23
RE: нужна помощь С++ - 2012-01-13 18:30:36.880000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
что ни кто так и не поможет???
Post #: 24
RE: нужна помощь С++ - 2012-01-14 10:00:50.310000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

ORIGINAL: shkolote attake
его надо отправлять как 43 f4 57 только так ведь он будет занимать 16 байт…
потому что ведь если брать хешь в виде char массива он будет занимать 32 байта…

Хеш – это последовательность байт, вовсе не ascii. 43f457 – это ascii представление, где каждый байт хеша записывается двумя шестнадцатеричными цифрами.
Post #: 25
RE: нужна помощь С++ - 2012-01-14 12:55:00.370000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
понял спасибо исчерпывающий ответ…
Post #: 26
RE: нужна помощь С++ - 2012-01-19 17:09:45.063333   
Mr.Burns

Сообщений: 54
Оценки: 0
Присоединился: 2010-08-13 22:10:36.213333
гугли ICQMod_src и разбирай.
Post #: 27
RE: нужна помощь С++ - 2012-01-19 18:36:37.490000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
нет ни одного исходника работающего по протоколу аськи 2011(ну по крайней мере я не встречал).вот и пишу.
Post #: 28
RE: нужна помощь С++ - 2012-01-21 20:15:25.030000   
shkolote attake

Сообщений: 268
Оценки: 0
Присоединился: 2010-10-19 05:37:44.873333
короче что то сервер мне выдает ошибку 0005: Неверный номер ICQ или пароль(в ответ на пакет с логином и паролем закодированным hmac md5)…хотя всё верно проверил ни раз.
Post #: 29
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> нужна помощь С++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.