Бложек теперь на old.mrThe.name. Следите за обновлениями.

Или как качать с торрентов без проблем с рейтингом.

Всё началось с того, что у меня был канал 2мб на вход, и 512 кб на выход. Поддерживать рейтинг с таким каналом можно, но трудновато. Есть вариант юзать RatioMaster, но его нужно использовать аккуратно, и есть большой риск быть забаненым.  Решение пришло почти сразу – найти клиент, в котором скачанное не учитывается. Нашел 2 версии. На одну кричал антивирус, а другая была старая, и не имела нужных мне фич. И так пришла идея сделать патч самому.. Статья расчитана на полных новичков в этом деле, так что сделать это сможет каждый.
.
Итак, начнём.

.

Для начала скачиваем сам клиент. Я выбрал µTorrent, так как он лёгкий, и имеет множество функций.
Далее, открываем PEiD, загоняем туда наш клиент, utorrent.exe, чтобы узнать, запакован ли он, и если да, то чем.
PEiD
Тут сразу видно, что он запакован с помощью UPX, что является хорошей новостью, так как он снимается автоматически самим UPX‘ом. Скачав UPX, Выполняем простую команду “upx utorrent.exe -d” и видим положительный результат:
UPX.
.
Теперь читаем спецификацию торрент протокола, и видим, что к трекеру идёт GET запрос, кроме прочего, содержит такие параметры, как downloaded и uploaded. Открываем hex редактор(мне больше нравится 010 Editor), загоняем туда utorrent.exe, и делаем поиск по слову downloaded. Находим что-то похожее на GET запрос:
Download 010 search
И редактируем, заменив значение параметра на нули:
000
Либо, ставим какое-то значение, чтобы мы всегда были “личерами”. К тому же, это уменьшает вероятность бана:
010
Вот собственно и всё, остаётся сохранить изменения, и спокойно качать торренты, не думая о рейтинге.
Кстати, пропатченная под личера версия лежит тут, а под полный 0 (сидера), тут – тут

UPD: тестовая версия. Скачать.
UPD2: тестовая версия действительно хороша, и абсолютно стабильна. Юзаем!

И всё-таки не забывайте раздавать, быть личером – плохо ;)

Похожие записи:

41 комментарий к “Патчим uTorrent”

  1. T-Rey Пишет:

    Зачётная печенька

  2. mr.Креккер Пишет:

    Вхат ит ис? … О май гаад!11
    Йу вери кул хакир!
    Ай лав йю!111

  3. isfuck Пишет:

    простая работа с хекс редактором.
    ничего сложного :)

    mr.The: на это и рассчитано)

  4. Пупсик-сама Пишет:

    Кавайй десу!! хентай теперь так и льётся терами, суройй ^__^

  5. #Wolf# Пишет:

    а ограничение есть? есть ли “шанс” быть забаненным?

    mr.The: какие ограничения? всё так же, как и в обычном торренте, только не учитывается скачанное, и трекер считает тебя сидом. Что бы не быть забаненым, нужно на качать с раздач, где 1-3 сида, могут заметить, и начать задавать глупые вопросы, так что шанс бана напрямую зависит от тебя. Я уже год как юзаю такой клиент, и ничего, проверенно даже на приватных трекерах.

  6. asser Пишет:

    Скажи, а какое значение надо ставить, чтоб аплоад увеличивался на x2\x3 и тд?С уважением!

    mr.The: для умножения, прийдётся дописать немного asm кода. Для этого нужно после того, как число отданного подсчитанно клиентом, сделать jmp(если нужно) на пустое место, где есть достаточно nop’ов, что бы вписать команду умножения.

    mov eax,eax
    mov ecx,2
    mul ecx
    mov eax, eax

    где eax – регистр с целым числом отданного, а 2 – множитель. в asm-коде мог ошибиться, так как, давно не писал ничего, советую погуглить.

    Но это всё сложно. Достаточно поставить относительно большое фиксированное число в отдаче. Число подберёшь эксперементально.

  7. Lsmn Пишет:

    раздавайте, говнюки

  8. Yves Пишет:

    а есть патч чтобы с локальных пиров только кочать но по максиму?

    mr.The: чего нету, того нету. Если у локальных пиров большая скорость, то клиент сам должен автоматом на с них качать по максимуму. Попробуй поставить какой-нибудь локальный прокси, настроить его, что бы пропускал только в локалку, и пустить через него uTorrent

  9. Hogfather Пишет:

    а как бы его пропатчить чтобы части (чанки,блоки и тп) именно КАЧАЛ последовательно, с раздачами такими сталкивался (есть даже скриншоты для невтыкающих что такое может быть) , но раздающие говорят незнают как так получается.

    mr.The: я ничего не понял.

  10. Hogfather Пишет:

    Вот про это речь идёт http://www.azureuswiki.com/index.php/Sequential_downloading_is_bad

    mr.The: честно говоря, так тоже не очень понятно. Торрент качает части не обязательно последовательно, а встроенные алгоритмы позволяют чётко следить за целостностью файла, и за склейкой частей. А настройки приоритета скачивания частей, помоему, настраиваются. Советую погуглить, где-то видел это.
    Надеюсь, я правильно вас понял.

  11. tvit Пишет:

    Скажи, а какое значение надо ставить, чтоб аплоад увеличивался на x2\x3 и тд?С уважением!
    Очень надо, запарился отдавать, с ассиметричным каналом 8/1

    mr.The: смотри комментарий чуть выше: http://mrthe.name/2009/10/utorrent-patch/#comment-749

    А я, как буду свободен, постараюсь написать пост по этой теме.

  12. иННА Пишет:

    mr.The,спасибо большое за проделанную работу.Стесняюсь переспросить,”под личера” это когда скачиваешь,но скачанное не учитывается? тебя видно среди кого?среди качающих или раздающих? или и там и там? а “под полный 0 (сидера)”-я это совсем не поняла..Муж шутит “это когда раздаешь,и не учитывается”)))Пожалуйста,разжуйте для особо непонятливых)).И еще один глупый вопрос). Тестовые версии для чего нужны? чем отличается тестовая от нетестовой. Спасибо за ваше терпение.

    mr.The: “под личера” – вы всегда будите в списке качающих, и при этом в статистику будет добавляться N килобайт (в статье – 10).
    А “под сидера”, это когда downloaded=0, то есть вас видно в списке сидеров(раздающих).
    Отличия тестовой от не тестовой.. Уже не помню, я там что-то добавлял.. Сам я использую этот клиент из следующей статьи: http://mrthe.name/trash/uTorrent_1.8.4_UploadOnly_DHT.rar

  13. tvit Пишет:

    В нете нашел вот это
    µtorrent 1.8.5__mult10_leecher.exe
    – upload reported to tracker with multiplicator 10
    – в отчёте обьём розданного трафика будет умножен на 10
    Все работает, качает и отдает, но для меня 10 это критическое, оптимально 6 или 7. Можно ли в файле проги просто множитель заменить?

    mr.The: найти множитель, и изменить его на нужное число. Хотя, умножение на 10 могли сделать банальным добавлением нуля в строку..

  14. tvit Пишет:

    mr.The: найти множитель, и изменить его на нужное число. Хотя, умножение на 10 могли сделать банальным добавлением нуля в строку…
    Я попробовал, но множитель найти не получилось.

  15. tvit Пишет:

    где eax — регистр с целым числом отданного, а 2 — множитель. в asm-коде мог ошибиться, так как, давно не писал ничего, советую погуглить.Вот с этим более менее все понятно.
    А вот об этом можно поподробнее: для умножения, прийдётся дописать немного asm кода. Для этого нужно после того, как число отданного подсчитанно клиентом, сделать jmp (если нужно) на пустое место, где есть достаточно nop’ов, что бы вписать команду умножения.

    mr.The: это был абстрактный пример. конкретно могу посоветовать либо читать тематические статьи(гугл подскажет адреса), либо ждать, пока у меня появится время на статью про это.

  16. tvit Пишет:

    Да вы правы просто добавили 0, но как это сделать, ведь изменяется хеш сумма,
    U&port=%d&upload
    ed=%Ld0&download

    mr.The: значит где-то в этом же стринге нужно убрать 1 символ.

  17. tvit Пишет:

    Поставил 0 и в последней строке стринга сделал изменения по аналогии, но что изменил не знаю, т.е не могу расшифровать
    er_id=1%s%s.‡ F. было так
    eer_id=1….‡ F. стало так

  18. xxx Пишет:

    хммм… и это работает? Там судя по всему sprintf, у него же поедух все параметры последующие?

  19. Vekz Пишет:

    Привет, спасибо за такую полезную вещь. Только я столкнулся с одной проблемой: на некоторых трекерах мюторрент в упор не видит сидеров, и я могу качать только с пиров, хотя если посмотреть статистику, то видна туева хуча сидов… Что делать?

    mr.The: Возможно трекеры не отдают список сидов сидам(мы ведь маскируемся под сидов) в качестве защиты. В любом случае обычно имеется достаточное кол-во сидов полученное по dht.

  20. tvit Пишет:

    хммм… и это работает? Там судя по всему sprintf, у него же поедух все параметры последующие?
    Да это все работает, и ни чего ни куда не поедет, я добавил 0 uploaded
    , т.е умножил
    U&port=%d&upload
    ed=%Ld0&download
    И в последней строке стринга убрал символ, поэтому все работает, единственное все понимаю, кроме того что изменил в последней строке было так реer_id=1%s%s.‡ F. а стало так рeer_id=1…‡ F., понимаю, что связано с пирами, а что не пойму

    mr.The: гугл же http://wiki.theory.org/BitTorrentSpecification#peer_id Или кратко: это идентификатор клиента.

  21. Vekz Пишет:

    И все таки нельзя как либо обойти это? Для того и скачал эту версию, чтоб на раздачах, которые мало кто качает, не убивать рейтинг. Мне то не жалко, просто потом оч трудно восстановить рейтинг. Да и дхт особо не помогает. Счас качаю с двух пиров, скорость 14 кб/с((

    mr.The: экспериментируй с параметрами. Больше ничего подсказать не могу. Сам уже второй день качаю пак семплов с 50 кб\с.. А что делать)

  22. Warchoon Пишет:

    поправил 000 на 010, но всё равно в списке сидеров на torrents.ru
    т.е. палево ещё больше, а список сидеров с трекера не тянет

  23. NoName Пишет:

    Патч для версии 2.0, умножет upload на нужное Вам значение (в примере на 2), просьба не переусердствовать.

    В hex редакторе ищем
    83C03FFF753C575168303D4900
    заменяем на
    83C03FE9C717060068303D4900

    В hex редакторе ищем 5F4900E90907FCFFC3C3C3C3C3C3C300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

    заменяем на

    5F4900E90907FCFFC3C3C3C3C3C3C35253505133D2BB020000008B453CF7E38BC833D28BC7F7E303CA8BF8890D91CA480059585B5AFF3591CA4800C70591CA4800323031305751E9FCE7F9FF

    BB02000000 (команда в блоке выше) – 02 число на которое будет умножаться upload.

    mr.The: спасибо.

  24. tvit Пишет:

    to NoName
    Что то слишком много изменений, здесь формула что ли прописана?

  25. Ruzzz Пишет:

    Hogfather, последовательно можно качать :) вот http://ruzzzua.ya.ru/replies.xml?item_no=8

  26. tvit Пишет:

    to NoName
    Можно поподробней, что то не получается.

  27. tvit Пишет:

    to NoName
    utorrent 2.0.0.18097
    Первую строку нашел, а вот со второй проблема, два символа другие.
    5F4900E9C906FCFFC3C3C3C3C3C3C3

  28. tvit Пишет:

    to NoName
    Вот на этом utorrent 2.0.0 (18296) от 22.02.2010 по моему получилось, правда еще не тестил, но по крайней мере обе строки совпали.Вы видимо взяли более раннюю версию 2.0, а потом они что то помели, в итоге опять вернули.

  29. tvit Пишет:

    2.0.0 (18296) не пашет при запуске выдает ошибку.

  30. Bosss Пишет:

    1.8.5
    =%d&uploaded=%Ld300&downloaded=&left=%Ld&corrupt=%Ld&key=%
    (%Ld300) регулируйте сами

  31. tvit Пишет:

    Может кто то подсказать, имею два файла с одинаковым размером, но знаю что точно один патченный, можно с помощью какой то проги (например хекс редактор 010 Editor) сделать сравнение, т.е.найти стринг где патчили.

    mr.The: попробуй прогу Comprate It!. Правда, не знаю, как она с бинарными файлами работает..

  32. TonIk Пишет:

    “Тут сразу видно, что он запакован с помощью UPX, что является хорошей новостью, так как он снимается автоматически самим UPX’ом. Скачав UPX, Выполняем простую команду «upx utorrent.exe -d» и видим положительный результат:”
    Я никак не могу допонять как єто сделать… Можете пошагово обьяснить…
    У мну не запускается UPX нормально… Почему это может быть?

    mr.The: потому, что он консольная программа и выполняется из консоли.
    пуск – выполнить – cmd

  33. Rick Пишет:

    «Тут сразу видно, что он запакован с помощью UPX, что является хорошей новостью, так как он снимается автоматически самим UPX’ом. Скачав UPX, Выполняем простую команду «upx utorrent.exe -d» и видим положительный результат:»

    ничего не выходит..

  34. Danny Пишет:

    Скачал версию, что написана в UPD2, но у меня почему-то upload очень низкий где-то до 1 кбит/с. Как сделать, чтобы была нормальная отдача?

  35. Sanny Пишет:

    Альфа версия Falcona с онлайн веб интерфейсом и стримером ок патчиться этим методом

  36. ncux Пишет:

    Хм.. Интресное применение. Патчим и всегда сиды.. На том же rutracker есть такое, что если нет сида – раздачу в архив. А встав на раздачу с таким патченным ut можем продлить “жизнь” раздачи, появившись в сидах. Например у вас куча релизов, а тут командировка долгосрочная и нет возможности сидировать и т.п, можно просто с ноутом и gprs числиться в сидах. Есть ещё Хранители на rut но врядли 100 и более раздач можно быстро скачать и поддерживать. а тут можно даже чужие поддержать =) вот один минус что нужно отдельный клиент получается завести.

  37. Имя\Ник (обязательно) Пишет:

    Слишком сложный и ненужный способ. Всё гораздо проще. Источник проблемы торрент файл, соответственно его и надо «лечить». Запускаем торрент файл, переходим на вкладку дополнительно и удаляем список трекеров. Если же DHT отключен, то список трекеров не удаляем, а заменяем passkey на другой. Всё.

    mr.The: сложный? куда уж проще, я даже не поленился скриншоты сделать. А если ты качаешь по 10 торрентов в день(вполне нормальная ситуация)? Каждый лезть и менять? Да и от отключенного DHT это не спасёт. К тому же, с пасскеем с твоего аккаунта ещё и раздача потом пойдёт, честная если аплоад не патчить.

  38. Имя\Ник (обязательно) Пишет:

    Мой метод идеален: он легок, универсален и действует на 100%. А в Вашем методе есть недостатки. Во-первых он сложнее но не эффективнее моего, во-вторых писали, что некоторых пользовавшихся Вашим методом забанили на трекерах, в-третьих вдруг я захочу честно посидировать, что мне лезть обратно код восстанавливать, а потом снова переделывать? Можно конечно, но не удобно.
    С какой стати с моего аккаунта должна идти раздача? Если DHT включен, то я просто удаляю списов трекеров вместе с passkey, еще до начала закачивания торрента. Если же DHT отключен (сталкивался крайне редко), то я удаляю свой passkey и заменяю его любым другим.

  39. Bo0oM Пишет:

    Потестил пару месяцев, не банят. Напишу-ка я у себя про это, спасибо Артикль)

  40. Роман Пишет:

    Добрый день mr.The

    Прежде всего хочу сказать спасибо за чудесный софт и метод, пользуюсь наверное уже год если не больше, все тип-топ :)

    Не могли бы вы обновить софт до версии 3.1.2 и выложить ?
    Интересует вариант с DHT + пропатченный лич (чтобы не палиццо)

    Заранее спасибо

  41. STIG Пишет:

    Пробовал с версией 3.2.1 PEiD говорит что она запакован UPX , но когда пытаюсь его распаковать то получаю вот что
    upx: utorrent.exe: NotPackedException: not packed by UPX

Оставить комменатрий: