Казнить, нельзя помиловать?

А вот интересная тема, кстати, возвращаясь к вопросу о воровстве приложений для iPhone с помощью Crackulous. Напомню, с помощью этой утилиты любая домохозяйка может убрать защиту от нелегального копирования с приложений в App Store и выложить это приложение на файлообменник.
Понятное дело, что разработчики по этому поводу напряглись — на форумах разработчиков для iPhone на сайте Apple есть несколько веток, где разработчики пытаются выяснить у Apple, планирует ли компания что-то делать по этому поводу. Надо сказать, попытки эти довольно безуспешны, поскольку Apple традиционно не комментирует ничего о будущих продуктах. Поэтому разработчикам приходится выкручиваться самостоятельно.

Выбора у них, скажем так, не сильно много в подобной ситуации — либо не делать ничего и ждать, пока соберется Apple, либо лицензировать что-то вроде нашего продукта, либо защищаться самим. Написать полноценную защиту для своего приложения разработчикам, чаще всего, не под силу, поэтому рассматриваются другие, менее нетривиальные варианты. И вот там возник не то, чтобы спор, но активное обсуждение между разработчиками, о том, что делать в случае, когда обнаружено, что программа — украдена. Я, как известно — сторонник жестких мер по выжиганию внутренностей телефона, но это мое мнение (здесь должет стоять тэг sarcazm). А мне стало интересно, что думает по этому поводу аудитория блога, какой из вариантов, по-вашему, предпочтительней?
Напоминаю, мы говорим о платном приложении из App Store, которое было взломано, выложено на какую-нибудь рапидшару, скачано и заброшено на телефон. Пользователь запускает его (осознавая, что программа ворованная), и тут…
Вариант №1
Программа просто не запускается. Это можно сделать намеренно — то есть установить специальный kill switch, который, обнаружив “нехватку” чего-то важного, просто убивает программу. Это может быть и непреднамеренно — то есть просто код приложения написан таким образом, что он будет поврежден при автоматическом “взламывании” и программа не сможет работать.
[ad#intext-inside]
Вариант №2
Программа запускается, но, обнаружив, что она нелегитимна, она может попытаться возвать к совести пользователя, выдавав сообщение вроде “ай-ай-ай, а программа то ворованная, и не стыдно вам?”. Говорят, кстати, разработчики такое пробовали — conversion rate совестливых покупателей очень близок к нулю.
Вариант №3
Программа запускается, но обнаружив свою “ворованность”, начинает вести себя непредсказуемо, или же начинает показывать каждые две секунды пиратский флаг, и делает все для того, чтобы ею невозможно было пользоваться.
Вариант №4
Программа запускается, но превращается в триальную версию — например, в игре это только первый уровень, а в программе для ведения каких-нибудь списков не будут сохраняться данные, к примеру. Вариант, без сомнения, самый, с точки зрения пользователей, красивый, но не всегда (а скорее, даже, редко) реализуемый. Да и осложняется это тем, что достоверного способа определить “хакнутость” программы тоже нет, или же его можно обойти.
Вариант №5
Ничего не делать, пусть программа работает, как работала, потому что пиратство вечно, и его не избежать все равно. В дополнение можно как-нибудь у себя на сервере отмечать потенциально ворованные копии.
[ad#intext-inside]
Напомню, что, судя по той статистике, которую я видел, соотношение пользователей приобретенного и ворованного приложения вовсе не в пользу первых. Как правило, пользователей “сломанной” версии от 50 до 80%, что для любого разработчика, от одиночки, пишущего дома до крупной компании — значительные цифры. При этом под iPhone воруют не Creative Suite, который стоит полторы-две тысячи долларов, а программки стоимостью 99 центов (ничего святого!). Поэтому это пиратство — это действительно недополученный доход разработчиков, как на это не посмотри.
Так какой вариант, по-вашему, лучше всего? Старайтесь рассматривать его с точки зрения разработчика, не пользователя.

39 thoughts on “Казнить, нельзя помиловать?

  1. Я думую что программа должна либо не запускаться, либо устроить из жизни пользователя настоящий ад – не давать нормально пользоваться программой. Думую, второе даже предпочтительней, ибо при первом пользователи будут винить хакеров, которые не могут нормально хакнуть программу, а при втором поймут что дело не в хакерах а в самой хакнутой программе.
    Думую, можно добавить еще один вариант:
    Пользователь запускает программу, которая пару минут работает, после чего всплывает реклама (ну или что-нибуть другое, зависит от чуства юмора разработчика), и программа больше не хочет работать.

      • Лично моя практика показывает строго обратное 🙂 То есть радикальных изменений нет, а вот стабильное увеличение продаж – есть.
        Так что, возможно, зависит от продукта.

          • Конечно, были. Никогда не считал защиту поводом выпускать апдейт.
            Что касается затрат на защиту… Как и в любом деле, важен баланс. 🙂 Но в целом, исходя из опыта, 80% “псевдо-халявщиков” (а это те пользователи, кто пользуется халявой только потому, что она легко доступна и зачастую поставить крякнутый вариант проще, чем заплатить [кстати, именно это мы сейчас имеем в ситуации с AppStore]), через 3-4 дня недоступности кряка после выхода новой версии, предпочитают купить её (если цена устраивает и тп). А написать защиту, которая будет сопротивляться попыткам взлома в течение недели – не очень затратно.

  2. а если что-то пошло не так, и программа, честно купленная, решит что она ворованая? а разработчик решил что внутренности телефона надо выжигать?

  3. На мой взгляд, программа, решившая, что она стоит “нелегально” должна собирать сведения о владельце телефона, достаточные, чтобы можно было обратиться в правоохранительные органы. Пример: компания разработчик, получив такие сведение, отправляет смс на телефон владельца данной программы с просьбой удалить или стать легальным пользователем данной программы и прислать подтверждение оного, в противном случае компания оставляет за собой право: “выжечь внутренности” или отправить собранные доказательства в “аппарат насилия”. 🙂

      • Хм… А кто это “мы”? И не сбор это персональных данных, а выполнение условий лицензионного соглашения о предоставлении сведений разработчику. Многие же не читают условия лицензионных соглашений до конца, а сразу жмут галку “Я согласен”. Если пользователь установил программное обеспечение, то… Вот есть же программное обеспечение, на распространение которого накладываются ограничения, если производитель находится в юрисдикции некоторого ряда стран и поэтому существует, например, требование указывать страну в которой будет использоваться ПО и данные о пользователе… 🙂

  4. Я бы выбрал вариант 1, только добавил бы “фичу”, которая бы портила бы чтонить в системных настройках, так, чтобы телефон стал глючить и тормозить (т.е. перестали бы корректно работать нормальные приложения) вплоть до перепрошивки. Это не выжигание внутренностей, которое необратимо, но достаточно большой гемор для того чтобы в следующий раз призадуматься – ставить пиратскую прогу и поиметь чудный вечер с восстановлением прошивки-данных-программ или не связываться.

    • как всетаки чудесно что одно приложение не может влезть в другое, даже в телефон (за исключением взломанного), в противном случае разработчика такого приложения можно было бы по 273 ук рф сразу засудить
      самое адекватное это чтобы приложение показало экран с рекламой что приложение нелегальное и пр, представьте что будет если у легального пользователя случайно что нить сломается ? деструктив обычно делают в песочнице детского сада, когда ломают чужие куличики – здесь важно убедить пользователя что лучше легальная программа, потому что пиратская просто не заработала

  5. Я за вторую часть номера 5 – за учет нелегальных копий, и по возможности 4, если это не сильно затратно.
    Борьба с нелегальными копиями редко увеличивает количество продаж легальных копий. И если процесс борьбы затратен, то есть ли смысл? Ведь цель в первую очередь увеличить продажи, а не сократить число пользователей. Да и защиты обычно строят с точки зрения баланса затрат на взлом, против цены легального использования.
    Зачем считать нелегальные копии? Чтоб аргументировано пинать Apple. В конеце концов, они тоже теряют на этом деньги. Плюс, если будут реальные цифры (а если механизм подсчета будет использоваться широко), то это создаст нужный информационный фон вокруг ситуации. Мне кажется, сейчас выгоднее инфорационная борьба, чем техничская.

  6. Вариант 4. Страдать фигней можно только до того момента, пока не придет кто-то добрее и спокойнее. Вы все равно не сможете победить в такой войне.
    PS на таче стоят только бесплатные программы, но после всего, что говорили от лица твоей компании, я принципиально никому не рекомендую ставить или покупать её продукты.
    Извини за резкость, ничего личного.

    • ну, про нас тоже много чего говорили, зачастую нехорошего и неправду. так что ничего удивительного, что кто-то мог не сдержаться. мы работаем над damage control

      • Да, я понимаю, что читал ангажированные источники. Может быть, вам поможет мое мнение: юзера трогать нельзя. Я хочу быть уверен, что у вас нет механизмов разрушения моих контактов, моего телефона, моих данных, доступа к ним. Я не верю никому. Я допускаю, что вы будете честны, но эти механизмы может использовать кто-то еще (уволенный сотрудник?). Я должен полностью вам доверять.

        • Насколько я знаю, у нас нет доступа к данным, способным каким-либо образом идентифицировать пользователя или получить другую важную личностную информацию из телефона или плеера. Все, что получает наш лицензионный сервер — это uid телефона, для идентификации лицензии. Ну а про разрушение данных — это я использую исключительно для красного словца, в продуктах, которые мы выпускаем, и за которые я лично отвечаю, НИКОГДА не будет подобных механизмов, данные пользователя — неприкосновенны.

          • Я тебе лично доверяю. У тебя вообще сложная позиция сейчас – тебя слушают и принимают за лицо фирмы, поэтому стоит быть поосторожнее в выражениях 🙂

          • Спасибо за доверие. А про позицию — я прекрасно понимаю сложность ситуации, учитывая, что я еще и не являюсь “руководящим” органом. но мы стараемся 🙂

          • А программа может сравнить uid телефона и uid лицензии? Тогда вот, в приницпе решение для пп.4, или пп.1
            Но я таки сторонник вытаскивания этого всего на публику, и в данном случае пинания Apple.
            В принципе, одно другому не мешает, и подно делать сочетание.
            Но “карма” компании, которая ругается, но разрешает таки пользоваться софтом будет лучше, чем у компании которая пресекает все варианты, невзирая на правильность позиции.
            За примерами далеко ходить не нужно – все кто делает защиту массового софта и не заходят сильно далеко, имеют популярность и масовость, а кто стоит “на свём” – фактически уходят в нишу.
            Конечно, что выгоднее конкретно вам и в конкретно вашием случае – нужно считать. Если и правда соотношение 10/90, то грустно.

          • я не знаю технических деталей реализации — может, и хорошо, а то бы проболтался 🙂 Но факт остается фактом — нашу схему лицензии приложений в Инстоллере не сломали. То есть как-то умелец нечаянно сломал, насколько я знаю, но потом быстро починили и с тех пор не ломали.
            в нашем случае с iPref, когда сломанная программа крешится при запуске — это случайный результат, просто код не работает после взлома, намеренно мы этого не делали. ну а тратить усилия на то, чтобы он заработал — смешно же.
            А соотношения честных-нечестных действительно очень неприятные. не 90%, но я видел на эппловом форуме цифры в более чем 70%

          • хм, еще одого уровня каментов нет :))
            вопрос не в технике, а именно принципиально – можно ли отличить честного пользователя от нечестного, для осонаных действий. Да, хорошо, что не про говорились :)))
            70% – тоже грустно. Даже 50% грустно. Может Apple не сильно шевелится со всем этим с целью расширения парка устройств?
            Просто если посмотреть на тот-же Windows/MSOffice – сколько версий все драли всё без каких-либо телеодвижений со сторны Microsoft. В первых версиях даже серийник можно было придумывать из головы, алгоритм проверки был совсем простой. А гайки закрутили уже когда слезть с их продуктов было ощутимо сложнее.
            да, я понимаю отличие Microsoft/Apple от других компаний. Но система должна стабилизироваться. Если отток авторов начнется бурный и массовый, Apple прийдётся шевелиться быстрее.
            Я считаю, чо это больше игра Apple с производителями софта, и пользователя втаскивать в это дело смысла нет. Особенно пользователей Apple, которые по большей части суперлояльны к Apple.

  7. Вами движет обыкновенная жадность. Всех денег все равно не соберете. А выколачивание денег из пользователей, тем более путем порчи их персональных данных, к хорошему никогда не приведет. Много денег не соберете, но “карму” себе подпортите. Один ваш заголовок уже меняет отношение к вам как к адекватному разработчику.

    • мною лично движет не жадность, а банальная экономическая эффективность работы предприятия. Если 95% пользователей будут ставить мое приложение себе бесплатно, только потому, что because I can, то в итоге не будет никаких приложений. И беспокоит это не только меня, судя по форуму разработчиков у Apple.
      Мне “все” деньги не нужны (впрочем, может и нужны). Но мне точно не нужны деньги тех, кому не нужно наше приложение, а вот те, кто его устанавливает и постоянно использует, должны платить.
      И я, кстати, про порчу персональных данных не говорил, а там, где я написал про “выжигание” — там есть такое слово “сарказм”. И если вы не знаете его смысла, то Интернет вам поможет.
      Ну а заголовок — есть такая штука, называется “журналистика”. Может, слышали когда? (sarcazm)

  8. А может выход состоит в том, что бы самостоятельно выпускать “взломанную” программу. Тоесть, просто выпускать для свободного скачивания триал версию (или полную, но с некоторыми недостатками, скажем рекламой)

    • ну, мы как раз стараемся делать по-всякому. у нас есть и бесплатные программки, и триал префа в Инстоллере, и тд. Но вот смотреть на взломанный преф на варезных серваках вообще не хочется

  9. Комбинация #2 и #3, и вот почему: если дело доходит до знающих умельцев которые орудуют дисассемблером/декомпилятором, то многие системы защиты могут и не устоять. Пусть уж пользователи Crackulous (домохозяйки, согласен) думает что взлом моей программы состоялся – они же сразу полезут смотреть если поломанная копия работает. Пусть они ее загружают на файлообменник и радуются. А программа потихоньку поработает недельку и начнет доставать юзера всякими сообщениями, запускать App Store и т.д. и т.п. Хорошо что iPref не взломали ещё, но у меня лично нет времени изобретать сильную защиту, и связываться с умельцами не хочется, because arms race is expensive. Поэтому буду просто надоедать тем кто думает что успешно своровал программу. Они недельку поиграются, а потом начнутся неудобства. Тем более если есть сервер – там даже reinstall не поможет после того как твой device id помечен как “пиратский”.

  10. Мягкая защита. Приложение собирает статистику, показывает рекламу.
    Различная деструктивная деятельноть будет только на вред вам же. Факт того что приложение уже своровано вы уже не исправите, а вот негативных отзывов на весь интернет получите предостаточно. “Это дерьмо постоянно падает и работает нестабильно. Хорошо еще что я его скачал с а не купил”.
    Ну и еще один аргумент. То что пользователь поставил приложение бесплатно, не значит что он готов купить его (пусть даже и за 99 центов). То есть с ваше стороны нет упущеной выгоды.

  11. Мне кажется, что вы, как небольшой независимый разработчик, при такой цене имеете полное моральное право воспользоваться комбинацией способов 3 и 1. Сначала 3, потом 1.

  12. Я сторонник выжигания не только телефона, но и, желательно, всех близких родственников вора.
    Однако есть один тонкий момент.
    Не существует способа стопроцентно и достоверно определить факт пиратства каждой конкретной инсталляции. Я говорю “не существует”, подразумевая, что речь идет о таком способе, которому ты, серьезный разработчик, доверяешь. Поэтому всегда есть шанс взорвать телефон легитимного пользователя, а такая ситуация убьет репутацию насмерть.
    Ну и выше правильно написали – легитимный пользователь должен стопроцентно знать, что в его телефоне нет механизмов уничтожения чего-либо. Отсюда и негативная реакция на Apple Kill Switch.
    Поэтому мы приходим к выводу, что никакие деструктивные меры здесь не работают.

  13. при наличии бесплатного триала с ПОЛНЫМИ функциями но на ограниченном СРОКЕ – только способ №1, с обязательнымвыводом сообщения о том, что приложение краденное, поэтому работать не будет(пользователь может даже не знать, что приложение краденное, поэтому сообщать об этом надо обязательно).
    При отсутсвие триала – пенять на себя + вариант №4, но опять таки пользователю обязательно сообщить, что это не триал, а ворованная(и потому ограниченная) версия

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

  14. Вариант №1 – too extreme,
    Вариант №2 – too soft,
    Вариант №3 – too mean,
    Вариант №4 – that’s ’bout right, for capitalists
    Вариант №5 – that’s excellent, but only for socialists…
    Given that you, Alex, likely more capitalist, than socialist, #4 sounds about right. I, for myself, would go with #5, at least for my own projects. However, I have to admit, as I’m not the only one who makes the decisions, I often agree with #4, even though it’s bad carma…

  15. Думаю, вариант N1.
    У меня знакомый разработал и использовал следующую технику для скрытия важных алгоритмов (в том числе алгоритмов шифрования и проверки правильности лицензии): используется сеть петри ( http://ru.wikipedia.org/wiki/Сети_Петри ), в ней очень большое количество узлов и с каждым узлом ассоциирована или часть алгоритма, или просто какой-то код. Последовательность обхода узлов (а, следовательно, порядок выполнения шагов алгоритма контроллируется входными параметрами (например, ключем активации или тому подобное). Для усложнения отладки, запускается огромное количество потоков, каждый из которых обрабатывает передвижение конкретных маркеров.
    Если на входе были правильные (валидные) входные данные, то важные куски кода (куски нужного нам алгоритма) выполнялись в правильном порядке. Если на вход получалась неправильная последовательность, то код выполнялся в неправильном порядке, что могло приводить к самым разнообразным последствиям, в том числе к падению приложения.
    Его ноухау заключалось в том, что он умел правильно создавать такие сети.

  16. Я, честно, никак не могу понять смысл данного поста.
    “Программа просто не запускается. Это можно сделать намеренно — то есть установить специальный kill switch, который, обнаружив “нехватку” чего-то важного, просто убивает программу. Это может быть и непреднамеренно — то есть просто код приложения написан таким образом, что он будет поврежден при автоматическом “взламывании” и программа не сможет работать.”
    – дать программе возможность понять, что она сломана (следовательно, все реализации пунктов 1 – 4) это уже из разряда “написать полноценную защиту”. Ведь именно это и является ключевой задачей защиты. А ключевой задачей взлома, наоборот – не дать программе понять, что она спирачена.

  17. Ну и все же вы зря так о всех кто говорил про неудобность русского аппстора 🙂 Я тоже совершенно не хотел заводить какую-либо кредитку (и то без гарантии что ее точно примет аппстор, примеров было много) при живой-то дебетной карте. Гифт-карты неудобны тем, что у них есть фиксированные номиналы. А вдруг я захочу купить что-то на бОльшую сумму? А вдруг наоборот: накуплю гифт карт и не использую больше половины суммы?
    Так что да, взломанным – пользовался. Но сейчас когда в комментариях совершенно случайно прочитал про открытие доступа дебетовым картам (кстати, я обижен: почему о такой хорошей новости на russianiphone.ru не было ни слова?) и действительно iTunes принял ее без разговоров – пойду наконец-то покупать то что успело понравиться и то что использую.
    P.S.: в оправдание могу опять же сказать то, что РП, i2Reader и все прочее, что можно было оплатить с обычной дебетки покупалось сразу.

    • И РП и i2Reader, как и весь наш софт продаются через eSellerate с использованием и дебетовых и кредитных карт.

      • могу только себя процитировать 🙂
        “P.S.: в оправдание могу опять же сказать то, что РП, i2Reader и все прочее, что можно было оплатить с обычной дебетки покупалось сразу.”

Leave a Reply