Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Вивисекция лисы 20.09.09 15:03
Автор: ryo-oh-ki Статус: Незарегистрированный пользователь
|
Приветствую, уважаемые!
Требуется помощь в дизассемблировании части сетевого кода тайваньского (китайского) p2p-клиента по имени Foxy.
Foxy - это клиент ( описание: http://en.wikipedia.org/wiki/Foxy_%28P2P%29 , программа: http://download.myfoxy.net/download_foxy.php 6.3MB ) использующий GPLную опенсорсную библиотеку GnucDNA для работы по протоколу Gnutella 2, однако авторы Foxy нарушают лицензию GPL и не публикуют свои изменения в ней касающиеся системы аутентификации клиентов Foxy между собой, её-то и требуется "взломать". Таким образом клиенты Foxy могут свободно подключаться и качать что-угодно со всех других не-Foxy клиентов, а наоборот отказываются делать, требуют аутентификацию, т.е. для всей остальной сети Foxy является чистокровным личером.
Система аутентификации Foxy основана на базе стандартного механизма хендшейкинга GnucDNA, при первом подключении и та и другая сторона посылают запрос в поле "X-Auth-Challenge:" HTTP-заголовка и ожидают правильного ответа в "X-Auth-Response:". Пример:
GNUTELLA CONNECT/0.6
Listen-IP: 95.37.149.96:10919
Remote-IP: 210.6.191.59
User-Agent: Foxy 1.9.9.0
Accept: application/x-gnutella2
X-Ultrapeer: False
Accept-Encoding: deflate
X-Auth-Challenge: TqMDW0ORw
GNUTELLA/0.6 200 OK
Listen-IP: 210.6.191.59:21444
Remote-IP: 95.37.149.96
User-Agent: Foxy 1.9.9.0
Content-Type: application/x-gnutella2
Accept: application/x-gnutella2
X-Ultrapeer: True
Accept-Encoding: deflate
X-Auth-Response: x9m75QkiG05u
X-Auth-Challenge: l6OOihgz
GNUTELLA/0.6 200 OK
X-Ultrapeer: False
Content-Type: application/x-gnutella2
Content-Encoding: deflate
X-Auth-Response: vRJrfTy5Eg0
Необходимо достать алгоритм генерации как запросов так и ответов в удобоваримом формате, желательно оформить в C/C++.
|
|
|