Статьи Глумимся над µTorrent

Discussion in 'Статьи' started by VY_CMa, 10 Dec 2012.

  1. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Начиная с 3-й ветки в µTorrent была добавлена назойливая реклама, которая мне совсем не нравится, и хотя её можно отключить, я решил немного поэксперементировать и посмотреть на это с другой стороны.

    Инструментарий:
    0) PeID для просмотра упаковщика файла.
    1) OllyDbg (можно и без него).
    2) Любой редактор позволяющий просматривать hex, я предпочитаю WinHEX.
    3) Любой хостинг, включая бесплатные.
    4) Анализатор трафика.

    Первым делом нужно рассмотреть жертву. На помощь приходит PeID.
    [​IMG]

    Как видно файл запакован распространенным пакером Upx, который можно распаковать любым анпакером, к примеру UpxUnpacker. Просто перетаскиваем наш файл в окно программы. Готово, бэкап файла создан, размер увеличился, файл запускается без ошибок.

    [​IMG]

    Следующим шагом рассмотрим откуда µTorrent просит рекламу, для этого можно воспользоваться любым анализатором трафика, в данном случае заюзаю HTTP Analyzer.

    После запуска анализатора и "подопытного" становится видно, что рекламу он тащит с адреса http://offers.bittorent.com/params...

    [​IMG]

    Что ж, рассмотрим под отладчиком, может есть что в открытом виде...

    [​IMG]

    Действительно адреса расположены в секции данных.

    [​IMG]

    Скопировав последовательность байт адреса, идем в HEX редактор.

    [​IMG]

    После поиска шестнадцатеричных значений видим такую картину:

    [​IMG]

    И меняем байты адреса на свой, я буду использовать свой тестовый хост http://stackoff.ru/test.php
    В результате получается:

    [​IMG]

    Если ваш адрес длиннее, начального затираем остатки нулями до символа "j".

    Пол дела сделано, теперь нужно подсунуть свои данные и рассмотреть что к чему.

    Судя по данным анализатора, в результате обращения мюторрента к серверу рекламы, он ждёт данных в формате "json". Дадим их ему.
    Примерная структура ответа такова:
    PHP:
    {"ads":
     {
      
    "version"1,
      
    "count"1,
      
    "ad": [
            {
             
    "adunitid":0,
             
    "adunitgroup":0,
             
    "adid":0,
             
    "type":"image",
             
    "html":"",
             
    "is_fallback":0,
             
    "creative":[
               {
                 
    "width":"188",
                 
    "height":"250",
                 
    "alt":"{\"loc\":1,\"clickUrlType\":1}",
                 
    "mime":"image/png",
                 
    "media""ссылка на изображение",
                 
    "tracking":{
                   
    "impression":"",
                   
    "inview":"",
                   
    "click":"адрес"
                 
    }
               }
             ]
            }
      ]
     }
    }
    Поэксперементировав, было выяснено, что данный набор необходим в полном составе, иначе парсер программы не может работать корректно.

    За внешний вид рекламы отвечает секция "creative", в которую мы и подсунем свои данные.
    Нам интересны: "type", "alt", "mime", "media" и "click".
    Как можно понять "type" - тип, во всех запросах мне кроме "image" ничего не встречалось, но видимо можно работать с video и flash.
    "alt" - довольно важный блок, в его состав входят "loc" - он отвечает за расположение блока рекламы, поддерживает два значения - это 1 и 0. 0 - означает верхний баннер, 1 - левый блок. Для наглядности: http://makescreen.ru/i/8445a558339aee5cdf71b03a2cde9d.jpg - 0, http://makescreen.ru/i/556484795be6e60a5cae60f4c5b608.jpg - 1.

    "clickUrlType" - интересная опция, в случае, если выставлена единица, то при клике страница откроется прямо в окне µTorrent'а с использовнием штатных средств IE, в случае двойки - откровется в браузере установленном по умолчанию, у меня это Firefox.
    "mime" - контент-тип.
    "media" - адрес ресурса, в данном случае изображения.
    "click" - адрес перехода по клику на баннер.

    Вроде всё. Попробуем выдать результат. в файле test.php у меня такое содержание:

    PHP:
    <?
    header("Content-type: application/json; charset=utf8");
    ?>
    {"ads":
     {
      "version": 1,
      "count": 1,
      "ad": [
            {
             "adunitid":0,
             "adunitgroup":0,
             "adid":0,
             "type":"image",
             "html":"",
             "is_fallback":0,
             "creative":[
               {
                 "width":"188",
                 "height":"250",
                 "alt":"{\"loc\":1,\"clickUrlType\":1}",
                 "mime":"image/png",
                 "media": "http://stackoff.ru/images/VY_CMa.jpg",
                 "tracking":{
                   "impression":"",
                   "inview":"",
                   "click":"http://antichat.net/"
                 }
               }
             ]
            }
      ]
     }
    }
    Можно конечно генерировать содержание и выдавать, предварительно обработав результат в json_encode, но в данном случае для примера это голый html.

    Результат нашей работы...

    [​IMG]

    В случае если "clickUrlType" = 1, после клика на рекламу получим следующее:

    [​IMG]


    Для чего это.
    Проделав данную работу и пошевелив веществом в черепной коробке можно придумать массу способов для монетизации.
    Первое что приходит в голову - это оплата за клики на различных партнерках, реклама своего продукта, либо оплата за показы, ну тут уже решает фантазия.
    Раздав данный файл паре друзей можно собрать неплохое количество трафика, ведь кто сейчас не пользуется торрент-клиентами?

    Автор не несет ответственность за действия граждан вставших на черный путь и использующих данный материал в корыстных целях, все вышеизложенное только для ознакомления.
     
    _________________________
    #1 VY_CMa, 10 Dec 2012
    Last edited: 10 Dec 2012
    makag, оlbaneс, bymugen and 3 others like this.
  2. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Ждём статью как подменить оригинальный файл на оф. сайте своим.
    P.S. Пара друзей как бы некатит.
    P.P.S. Второй вариант: самообновление на модифицированный нами клиент. За статью +
     
  3. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Оригинальный файл подменять не нужно, не берите на себя грех, довольно много товарищей качают uTorrent с левых варезников, а также с локальных ресурсов стоит только дать нужную рекламу.
     
    _________________________
    1 person likes this.
  4. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Клиент обновился и писец нашей рекламке :(
    P.S. Поснифай тогда откуда обновляется и подсовывай свеженькую модифицированную версию. :)
     
  5. jyjy

    jyjy Banned

    Joined:
    24 Nov 2012
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    Вообще можно отключить обновления, они не нужны
    В каждой новой версии ничего не менятеся только рекламу пихают
    Старый был лучше и удобней

    каким именно отладчиком пользовались?
     
  6. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Я не преследовал цели более глубокой модификации. Это лишь простой пример. Все адреса лежат в открытом виде и их модификация думаю не вызовет трудностей.

    jyjy, отладчик указан в начале.
    Инструментарий:
     
    _________________________
  7. Sharp.Net

    Sharp.Net New Member

    Joined:
    28 Jul 2012
    Messages:
    39
    Likes Received:
    3
    Reputations:
    1
    Можно ещё в host заглушку поставить на ихние URL адреса с офферов, так удобней и проще, чтобы жертве пихнуть..
     
  8. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Молодец, интересно..
     
  9. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    Мне кажется там кроются куда большие возможности, по ходу просмотра файла, пару раз обращал внимание на execute функцию, которая судя по всему дает возможность запуска сторонних программ, а это уже большая дыра.
     
    _________________________
  10. Sharp.Net

    Sharp.Net New Member

    Joined:
    28 Jul 2012
    Messages:
    39
    Likes Received:
    3
    Reputations:
    1
    Это да :)
     
  11. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    в скайпе тоже реклама есть, вот бы её убрать или заменить :)
     
  12. Sharp.Net

    Sharp.Net New Member

    Joined:
    28 Jul 2012
    Messages:
    39
    Likes Received:
    3
    Reputations:
    1
    Щас поколдую...

    АП:
    https://apps.skype.com/home/index.php вот сюда заглушку надо ставить, щас ещё гляну
     
    #12 Sharp.Net, 19 Dec 2012
    Last edited: 19 Dec 2012
  13. jyjy

    jyjy Banned

    Joined:
    24 Nov 2012
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    а можешь PeID залить и дать ссылку?
    а то оф сайта уже нет
     
  14. Anarh1st

    Anarh1st Member

    Joined:
    19 May 2010
    Messages:
    32
    Likes Received:
    5
    Reputations:
    0
    Мда...

    Зачем пляски с анпакерами, отладчиками и редакторами, когда можно проснифать трафф и повесить заглушку на hosts?

    Если речь идет о "монетизации", то все ясно, хотя это бред полный.


    Мне кажется, ты сильно преувеличиваешь. Что нужно будет, чтоб заюзать эту execute-функцию? Заставить юзера скачать патченный клиент? Запустить стороннее приложение?
    Понимаешь, к чему я клоню?
     
  15. Kavalone

    Kavalone New Member

    Joined:
    16 Jan 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Не совсем поняла, через торент подменив файл толкать рекламу? Можно технический момент подробнее.
     
  16. space_ninja

    space_ninja Member

    Joined:
    25 Jun 2009
    Messages:
    6
    Likes Received:
    5
    Reputations:
    0
    Да + возможность подмены обновлений

    типа такого: в сеть выкладывается патченый клиент и раскидывается по самым разным софт-ресам, по уровню спокойно потянет на бонет, притом весьма мощным, если копия широко разойдется ;)
     
  17. maksim14

    maksim14 New Member

    Joined:
    5 Mar 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Каким образом вы собрались изменять что либо в экзешнике uTorrent, если он подписан сертификатом?