ryo_oh_ki
Сообщений: 2
Оценки: 0
Присоединился: 2009-09-19 13:40:59.770000
|
Приветствую, уважаемые! Требуется помощь в дизассемблировании части сетевого кода тайваньского (китайского) p2p-клиента по имени Foxy. Foxy - это клиент ( http://en.wikipedia.org/wiki/Foxy_%28P2P%29 ) использующий 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++.
|