JUST GET IT HERE http://voodooman.gta-action.ru/
Маленькое вступление:
Многие пользователи BitComet 0.9x ошибочно считают что их клиент коннектится к Торрентс.ру и подсоединяется к пирам через него, не догадываясь о том что пиры и сиды находятся клиентом через DHT, а не трекер. Потому они не знают правды о том что начиная с версии 0.91 и заканчивая 1.0 бета (и черт знает сколько еще версий с этим недугом впереди) Bitcomet несовместим с torrents.ru и многими другим приватными трекерами так как выдает себя за браузер, а не битторрент клиент.
Так было по сегодняшний день....
:P
Да возрадуйтесь братья ибо явился к вам BitComet мессия с благой вестью!!!
Отныне и навсегда проблема несовместимости (403, tracker respond error и им подобные) BitComet 0.91-1.0 beta с приватным трекерами, в т.ч. Torrents.ru не актуальна!!!
Устав ждать пол года пока китайские авторы Bitcomet перестанут считать себя самыми умными на планете и нарушать правила битторент,
устав ждать пока они предоставят возможность установки юезр агента вручную или хотябы возможность выбора между битторрент и браузерным юзер агентом,
устав пользоваться старинной 0.70 версией в которой есть не мало глюков устраненных в 0.9х и в которой нет некоторых хороших функций,
устав ждать пока авторы BC поймут что идентификация БК как браузера заставляет срабатывать античит скрипты которые тут же банят клиент,
устав ждать пока админы перестанут банить браузерный юзер агент за мнимую попытку накрутки ратио,
устав видеть как многие любители BitComet переходят на uTorrent, и устав переключаться между 0.70 0.89 и utorrent,
в общем устав от всего этого я вчера скачал свежую бета версию 1.0 в надежде что в ней авторы наконец поступят логично и вернут старый юзер агент...
И когда я запустил ее увидил опять ошибку 403 при подключении к Торрентсу.ру и другим трекерам мое терпение наконец лопнуло! :furious:
Я решил больше не ждать и исправить это досадную "ошибку" самостоятельно.
(вернее не ошибку, а просто упертость авторов в том что они правы что всем нужен браузерный юзер агент для обхода блока со стороны правайдера, без возможности отключения этой функции... притом что на западе в отличии от азии почти ни один приличный провайдер не блокирует торрент трафик, тем более по юзер агенту).
Покопавшись немного в PE 32 теле Bicomet.exe, я нашел все hardcoded user-agent string'и идентифицируешие BC как браузер и сменил их на соответствующие битторрент протоколу BitTorrent 3.4.2 как было в ранних версиях BitComet, после чего запустил модифицированный BitComet и проверил его с нашим славным Torrents.ru и другими трекерами вроде демонойда которые так же банили комету за ее попытку выдать себя за браузер....
Вуаля, никаких 403, никаких ошибок, спокойно подключаюсь к абсолютно любым трекерам!
И так вчера 13.03.08 мной был рожден универсальный эвристический патч для любой версии BitComet... Теоретически для любой, я применил 3 метода поиска и замены нужных байт, первые 2 для поисках и замены полных hardcoded строк c юзер агентом где значения юзер агента должны 1 в 1 соответствовать искомым, и третий метод "умный" на случай если опять авторы биткомет вдруг сменят юзер агент к примеру с IE 6\7 на Googlebot или Safari и предыдущие значения не будут найдены. Суть метода 3 это поиск коротких фрагментов типичных юзер агент значений и замена не полной строки а лишь первых 18 байт дабы вместить BitTorrent/3.4.2.
Люди которые разбираются в теме в этом месте наверно сразу зададутся вопросом :?: :
"Если ты меняешь первые 18 байт то останутся еще и другие с рудиментом старого юзер агента, не будет ли такой странны юзер агент мешать идентификации клиента, и не сработают ли опять античит скрипты и не забанят ли клиент?"
:!: В теории бана больше не должно быть так как причина кроется именно в Mozilla/4.0, скрипты при обнаружении этого значения тут же дают красный свет и не пускают клиент, а если на его месте стоит BitTorrent/3.4.2 то клиент проходит на ура и дальнейшие значения в юзер агенте не должны парситься ибо для скриптов BitTorrent/3.4.2 уже не браузер (хотя если попадется такой же умный скрипт как мой патч то возможен бан).
Но на практике дело еще лучше - "BitTorrent/3.4.2" если кто не заметил это всего 16 байт, дополнительные 2 байта это 00 00 separator нужный для того чтобы отсечь продолжение строки юзер агента, то есть не смотря на то что на практике останутся рудименты юзер агента, при считывании значения при загрузки Bitcomet.exe в переменной юзер агента которой оперирует БК окажутся лишь 16 байт BitTorrent/3.4.2...
Вот так вот spoofing`ом юзерагента в теле приложения делаю то что авторы не могут сделать пол года, хотя реально им бы понадобилось на исправление этой оплошности от силы пол часа.
***У меня не было времени проверить заголовки пакетов, есть малая вероятность того что Биткомет можешь считывать значение фиксированной длинны игнорируя сепаратор
Тут же я решил попробовать то же самое на Stable 0.99 версии, не столько для себя (я не сомневался что это сработает в любой версии) сколько для скептиков которые без обязательных тестов не поверят в "теоритическую" универсальность метода.
Но тут я не на долго влип, PE 32 тело Bitcomet 0.99 являло собой лоудер PeCompact 2 и все секции былы упакованы "эвристическим методом" что не позволяло патчу работать, я конечно тут же схватился за Ollydbg чтобы "распаковать" БК (правда сначала долго думал что лучше взять в руки Ollydbg Ida pro или SoftIce), за часик неспешной работы и периодических отходов от ноутбука я нашел Entry point сделал хороший дамп, восстановил таблицу импорта, tls и прочие секции...
но я понимал что далеко не каждый в состоянии вручную распаковать\расшифровать запакованный Bitcomet.exe; писать большую инструкцию по распаковке тоже было бессмысленно все равно бы осуществить распаковку смогли бы от силы 10 из 100, да и лень было этим заниматься и я понимал что этот способ оттолкнет многих новичков своей сложностью, нужно было найти что то полегче для новичков, чтобы пару раз потыкав по кнопкам они могли получить расшифрованный Bitcomet готовый для патчинга.
Совсем уж Простой анпакер для Pecompact я не нашел и в природе его, однако наткнулся на Quick Unpacker который делает все то что я делал вручную в Ollydbg на полуавтомате)) Использовать его легко если знать что делать или если прочитать мою инструкцию (которую так же легче и быстрей написать чем инструкцию по интерактивным дизассемблерам\дебагерам ))
В общем я пока пойду писать инструкцию по применению и подготовлю комплект из моего UniBitComPatch v1.0 и Quick Unpack v2.0 для всех текущих и будущих релизов BС а модераторов трекер сайтов прошу добавить эту благую весть (о том что теперь можно использовать любую версию BC со всеми трекерами без ограничений) в FAQ по BC и так же открепить мой пост в отдельную тему (на которую пологаю будет ссылка в факе) где я собственно уже и выложу патчер и noob - friendly инструкцию по которой пропатчить Bitcomet для совместимости с Torrents.ru сможет даже любой последний ламер.
П.С. - теперь Bitcomet можно убрать из списка несовместимых вот здесь http://torrents.ru/forum/viewtopic.php?t=603810