Комментарии 97
Никакого взлома или глубокого реверс инжиниринга для получения ключей не нужно, их просто видно как строки
С таким подходом можно любую защиту ломать под лозунгом "ведь код защиты видно как код".
Как вариант, можно сделать отдельное приложение для конвертации того формата в ваш. Или даже ни как приложение, а как отдельный сервис в интернете.
Тут вопрос в том, что юридически такие претензии необоснованны. Зачем мне делать отдельный сервис, когда я могу это сделать в приложении. Или у OpenOffice есть отдельный конвертер doc файлов?
OpenOffice бесплатный, а у вас, как я понял, коммерческий проект. И doc файлы не шифруются. Я не юрист, но вероятно тут как раз вся "затыка" в том, что вы вставили их ключ для дешифровки в своё приложение. Там же сделали хитрее, они просят пользователя ввести аккаунт + это аккаунт пользователя и у вас уж точно на него прав нет.
Ну и если вы считаете себя правым, то в суд и отсудить все материальные потери что вы понесли из-за блокировки.
Походу придется идти в суд на Рустор, потому что со стороны заявителя только email есть.
Найти контакты на кого в суд подавать, это отдельный квест.
На мою собаку как-то другие собаки напали. Написал заявление в полицию, хозяина собак нашли. Но уголовки нет, так что отправили в гражданский суд. Я им: скажите контакты на кого в суд подавать, а в ответ - в соответствии с законом мы не можем вам это сообщить. Вот и подавай в суд на неустановленное лицо.
А это — подать в суд на ВКонтакте не получится? И пусть они заявляют что они — ненадлежащий ответчик, но тогда придется ж сказать а кто надлежащий?
Будет смешно если они сами юридически реквизитов конкурента этого не знают а просто по письму работали.
Требуйте ознакомление с материалпми дела. Они обязаны вам их предоставить, а там будут и контакты.
А, как быть со всеми разными приложениями/программами, которые свободно читают/импортируют данные из сторонних программ сходной функциональности, но как правило сохраняют их уже в своём формате.
Что они нарушают?
Уже писал, что я (а я не юрист) тут вижу "затык" в использовании ключа для дешифровки. Не знаю ро какие программы идет речь, но предположу что
Там файл не шифруется
Правообладателю формата пофиг
p.s. И в данном случае возможно юристы RuStore и вообще не подключались. Есть жалоба, есть разработчик формата, вот и заблокировали.
Шифруй/не_шифруй если содержимое файла само не является чьим то защищаемым контентом, а не файлом пользователя сторонней программы, то вероятно это не аргумент, а если куплен на сторонней площадке где продавец понадеялся, что он не будет прочитан и расшифрован сторонним софтом по утверждению автора оригинальной программы, то увы не всему стоит верить по договорённости.
P.S. Российское законодательство в разрешении таких вопросов достаточно конкретно описывает правоприменимость возможности реверса ПО и в каких целях.
При этом их самих не смущало использование моего "ключа" в своем коде для расшифровки моего формата, в виде названия приложения, а не случайного набора символов:
![](https://habrastorage.org/getpro/habr/upload_files/598/f25/d31/598f25d3134daf88b26f8060de9b3b57.png)
А не пробовали на них пожаловаться? Ситуация то тогда зеркальная.
Это было еще в версии 4.3, а вот в последней 4.4 они все тщательно подчистили в коде, типа белые и пушистые.
"Устранили нарушения", а значит их это всё-таки "смущало".
Судя о всему они заранее подумали о зеркальном ответе. А значит их юрист сказал им что они правы.
Если они уверены в своей правоте, почему скрывают любые контакты для судебного разбирательства?
Лишние траты и всегда есть шанс проиграть. Суд, это такое дело что фиг знает как он решит. Юристы всегда уверены в победе, в реальности всё неясно.
Я вот уже приводил пример своего случая с нападением собак. В суде хозяин собак сказал что да, виноват, он признает что его собаки напали, но он оплатил сумму лечения (после того как я уже потратился на юриста и составил заявление в суд и сделал он это через 2 месяца после происшествия). И суд такой - в иске отказать. Все ваши материальные потери от нападения, это чисто ваши проблемы. Апелляционный суд сказал тоже самое. Хотя мой юрист тоже был уверен что мы выиграем.
В данном случае пользователь работает с файлом, которым он законно обладает. Это не тоже самое что пиратка с торрента.
Судя по тому, что вы показали - ключи там представляют собой текстовые строки, предполагаю алфавит 0-9A-Za-z и тогда сроки подбора значительно меньше.
По поводу секретности IV можете их вообще слать лесом: расшифровка с некорректным IV портит только первый блок (8 байт в вашем случае), остальные данные корректны. Имея представление об исходных данных восстановить IV - не проблема. Или вы можете в своем приложении использовать некорректный IV и переписывать первые 8 байт данных так, чтобы XML-парсер работал как нужно ;-) Удачи в борьбе с чудилами!
Да я бы и готов слать всех лесом, но пока только меня шлет лесом Рустор
Ну ответьте им про секретность IV и явное введение в заблуждение со стороны тех товарищей по срокам перебора :-)
На все мои обращения, они меня отфутболивают "обращайтесь к правообладателю". Теперь вообще сказали отвечать больше не будут.
У меня родилась дурная идея: поскольку для корректной расшифровки нужен и ключ, и IV, вы спрашивайте IV у пользователя ;-) Если пользователю "повезет" - ура, если нет - переходите в режим "совместимости", чините некорректные данные и выводите соответствующее предупреждение ;-)
расшифровка с некорректным IV портит только первый блок
Неверно, если используется IV, значит используется режим связи блоков (cbc, ofb, cfb), а значит расшифровка влияет на все блоки (https://ru.wikipedia.org/wiki/Режим_шифрования).
IV не является секретом, это верно, обычно для каждого сообщения генерируют новый IV и кладут его с шифротекстом.
В случае CBC, о котором тут речь, "Decrypting with the incorrect IV causes the first block of plaintext to be corrupt but subsequent plaintext blocks will be correct" - цитата из англоязычного и более полного аналога приведенной вами статьи. Ну и если я еще совсем с котушек не съехал, на протяжении нескольких лет мы именно этим и пользовались для поиска корректного IV
Замените в тексте приложение (и файлы хранения) про "вышивание" на приложение про просмотр медиаконтента с защитой DRM (или на любой иной соф с защитой любых ресурсов - где всё тоже самое архив + шифрование) - и по сути ничего не изменится - но только это уже более явно будет напоминать хакинг и получение доступа к информации, защищаемой цифровым ключом чужого владельца. Простой пример - защищённые книги в PDF или EPUB - подобная история с коимпание Adode уже была лет так 20 назад - точно так же один программист провёл реверс инжиниринг её защищённого PDF формата - и выложил ПО для его чтения - потом был суд, который выиграла Adobe - что там с программистом потом стало уже не помню....
В общем, Вам нужно либо договариваться с автором на получение лицензии к формату, либо нелегально распространять своё ПО, да хоть через 4PDA но с монетизацией будут уже проблемы (хотя в даркнете всё продаётся - но это уже совсем иной рынок и явно не те доходы для подобного софта).
Есть ещё третий вариант - эдакий компромисс (но он тоже не сладкий) - убрать чтение данного формата файлов из данного ПО (Заменив его другим) - после чего повторно подать заявку на размещение в магазине приложений, а отдельно уже разместить где-то (наврядли в RUSTORE) плагин для открытия данного формата (или ПО для его переконвертации в другой формат).
В основное ПО можете встроить поиск плагинов в интернете - позволяющий упросить поиск и установку данного плагина, распространяемого уже вне данного ПО.
Можно даже заморочиться и сделать поддержку поиска и скачивания плагинов через торрент сервис
Можно ещё попробовать легально распространять плагин на формат, с условием что для его работы нужен некий лицензионный ключ (внутри которого и будут те самые ключи шифрования - возможно в ином виде) - а уж как получать этот лицензионный ключ - тут надо подумать - официально можно отправлять к автору оригинального формата - неофициально искать ключи на просторах Интернета (ну или выдавать их как-то из подполы, не от себя лично). Но, ИМХО, лучше договориться с автором формата - может он захочет их продавать!
Только в DRM тут никакого отношения нет. Кто угодно может конвертировать любую схему в этот формат через приложение. Никаких проверок на "копирайт" там нет, вы можете открыть этот файл на любом устройстве.
Принципиальная разница вашего примера от текущей ситуации в том, что "потом был суд". А тут нет судебного разбирательства, так как нет ни реальных контактов правообладателя, ни оснований для его блокировки (ссылок на патенты, и пр.) В этом отношении GoogePlay поступает удобнее и честнее, сперва тебя блокируют, а если ты не согласен, то бан снимается, а заявитель подается на тебя в суд.
Но, ИМХО, лучше договориться с автором формата - может он захочет их продавать!
Ой, сомневаюсь... Это товарищи, занимающиеся машинами для вышивки - они даже задокументировать свои форматы нормально не могут.
Вот, один очень известный товарищ тоже отметился по этому поводу. Соответствующий код
Получить эти ключи подбором данных между исходным файлом схемы и схемой в
формате SAGA или иным подбором не представляется возможным без
реверс-инжиниринга
а что скажет команда: strings that_saga_app ?
Так нельзя, вы должны миллиард лет подбирать ключ перебором!
Не нужно хранить ключ в приложении, генерируйте его (тот же sha256 подходящий можно найти достаточно быстро шум->sha256)
Подобрать такой seed для рандом-генератора для подбора ключа, который в первых циклах находит нужный ключ, и все. Мы ключ не храним, мы храним seed, случайно выбрали, а что он быстро находит ключ — ну, так совпало.
Как понимаю, проблема только с к лючами. Вынесите их в конфигурацию и назовите персональным паролем. ;)
Проблема в том, что непонятно в чем проблема. Ни Рустор не может объяснить что именно нарушило приложение кроме "лицензии авторского права", email заявителя вообще не отвечает.
Вот недавно тоже стим зарубил свой эмулятор нинтендо из-за того что там используется ключ расшифровки. Вы действительно не имеете право встравиать ключ в свою программу - в интернете есть куча примеров что ключ известен а пользоваться им нельзя. Поэтому пусть сам пользователь находит на просторах интернета "свой персональный пароль".
Вот что я нашел
Однако недавно было высказано предположение, что Dolphin может быть исключением, поскольку он включает криптографический ключ Wii Common Key, используемый для расшифровки игры. Вероятно, Nintendo ссылалась на этот факт, утверждая, что использование Wii Common Key в эмуляторе означает, что эмулятор активно обходит меры защиты от пиратства.
Тут все же другая ситуация, никакой защиты от пиратства тут нет. Да и я стараюсь работать с дизайнерами схем, наоборот защищая их.
Почитайте про "незаконное число".Пароль, который вы надебажили, именно им и является.
Почитал https://ru.wikipedia.org/wiki/Незаконное_число и получается мне достаточно сделать XOR со своим ключем и хранить в приложении два таких включа, вместо одного "оригинального"
Я думаю с XOR позиция слабая, так как вы в результате все равно приходите к незаконному числу. А вот ввод от пользователя котрый вы не контролируете, может и "совпасть". Благо, это действительно персональный пароль для AES.
У меня возник вопрос, чем руководствуется Rustore при принятии этой жалобы к рассмотрению и удалению приложения?
Если это гугл плей то они рассматривают жалобы в рамках dmca и по нему же и разруливают.
Но Rustore же на 100% импортозамещающий, а значит ни в коем случае не должен руководствоваться законами из за границы.
Тогда на чем основано их решение?
Они ссылаются на пункты 4.8 и 9.3 https://help.rustore.ru/rustore/legal_info/developers_agreement Непонятно как они определяют обоснованность этих претензий.
Ну 4.8 вообще тут не при делах. А вот 9.3 написан очень интересно, по факту он позволяет ВК зарубить любое приложение по любой жалобе. ВК не возлагает на себя обязательств по проверке обоснованности жалобы. Так же не определен механизм решения проблемы с жалобщиком. Все строится вокруг наличия жалобы, но нет механизмов ее разрешения. Что позволяет любому выкидывать любые приложения из маркетплейса и не позволять их возващать ни при каких условиях.
Единственный вариант подать в суд и через этот механизм заставить их раскрыть реальный процесс принятия претензий и их урегулирование.
RuStore пошел навстречу и разрешил опубликовать билд без этого формата.
Сделать поддержку всех форматов, включая и этот спорный, в виде плагинов, которые распространяются не через Rustore ? Или в виде вебсервиса, который определяет формат присланного вашей программой файла и присылает обратно файл "нормализованный", т. е. транслированный в ваш формат? Или они запрещают такую модель?
А где тут "навстречу"-то?
По ходу у RuStore нет толком политики разруливания таких ситуаций. А в РФ по ходу в судах дел на тему прав касательно ПО, вероятно, кот наплакал. Моё мнение, что читать чужие форматы всё же нельзя. Ведь они вкладывались в рекламу своего формата - прямо или косвенно. У них могут доходы быть завязаны на то, что другие программы не будут их формат читать.
Скорее они привязывают к себе пользователей, конечно не в их интересах, чтобы такая монополия разрушалась. С другой стороны, завтра они удаляют приложение, что делать пользователям с коллекцией схем в их формате?
А если фирма Abobe перестанет продавать ключи на Photoshop - будет ли это значить, что теперь Photoshop можно свободно пиратить? Вопрос в том, насколько строго соблюдать право собственности. Насколько я понимаю, в мелких вопросах в западном мире оно соблюдается максимально. В крупных - политика вмешивается (разделение корпораций на части, блокировка средств отдельных стран). В РФ с этим самым правом вообще всё не однозначно, так что может вы и правы :)
Но тут же вопрос не про пиратство фотошопа, а что делать с файлами формата psd после этого? Эти файлы создали авторы, они не принадлежат фотошопу. Почему авторы не могут открыть их в Gimp или другом редакторе, который открывает такие файлы?
Потому что формат проприетарный. Вы спрашиваете зачем такие форматы вообще бывают? Зачем их защищают авторским правом? Нужно спрашивать у законодателей, я могу лишь пофантазировать на тему :)
Есть Krita которая открывает psd, и их никто не засудил, проприетарность и возможность засудить это разные вещи. Там ниже уже давал ссылку, единственное, за что я считаю реально могут зацепиться, это патенты.
То есть мы имеем достаточное количество софта которое открывает проприетарные форматы, и которых пока что ни кто не засудил. Это как минимум довольно странно.
Моё мнение, что читать чужие форматы всё же нельзя
Мне кажется наоборот нужно законодательно стимулировать создание приложений которые могут читать "чужие" форматы. А то накопленная информация может просто пропасть, если разработка приложения с закрытым форматом данным прекратиться.
Как бы вам прозрачно намекнуть… а с чего они взяли, что вы увели у него ключи, а не он у вас? Удачи!)
Понравилась идея с плагинами, но удобство пользователей всегда на первом месте.
К сожалению, я не могу принять сторону автора: использование открытых технологий для создания закрытого продукта (и формата) - это естественно.
Сердцем болею за вас, сам пользуюсь Tachiyomi (легальное по для нелегальных вещей - с точки зрения правообладателя, конечно)
Я могу понять, когда закрытый формат используется закрыто внутри продукта. Но когда такой формат превращается в очередной документ, который пересылают, продают, скачивают, то это уже просто формат документа.
Я в комментарии выше уже высказал свою точку зрения.
Это неприятно, да и мне в целом авторское право не очень импонирует. Разумеется, когда в отношении твоего продукта работает право - это хорошо, в отношении оппонента - плохо.
Но есть одно большое но: возможность передавать файл не делает сам формат открытым.
Я попытался быть максимально корректным, но тут вы не правы.
P.S. Отношение RuStore в регулировании подобных ситуаций - скотское. Как по мне, у вас должна быть возможность разобраться в суде
А как определить грань, где формат открытый, а где уже нет - легко ли его прочитать, или есть ли на него спецификация?
Или нужно именно разрешение "разработчика" формата?
Я храню данные в текстовом виде, но не разрешаю читать, или у меня подробная спецификация алгоритма сжатия с шифрованием?
А так получается есть файл (набор байт) - можешь прочитать из него хоть какие-то полезные данные - он открыт, а не можешь - значит закрыт. В принципе тебе может быть даже неизвестно как и кем был создан этот файл.
Это очень странно, что такое юридически "открытый формат файла"? Open Office тоже чтоли можно забанить за то, что он открывает doc и эксель?
Я не юрист и данная тема требует разбирательств в соответствующих сферах.
Если интересно мое мнение, то я могу сослаться на википедию: https://ru.m.wikipedia.org/wiki/Открытый_формат и https://ru.m.wikipedia.org/wiki/Office_Open_XML
Я не хочу сидеть в душном помещении, поэтому снова выскажу свое мнение. Ситуацию я вижу следующим образом: мне достаточно поменять расширение на .мое
, чтобы сказать, что это мой формат файлов. Причем доказательство нарушения прав будет заключаться разве что в хранении самого файла с данным форматом.
Таким образом, ставя пароль на файл правообладатель гарантирует, что его нельзя использовать не нарушив его права.
Опять же, это как я вижу ситуацию. Дополнительно, конечно, можно всякие фичи навесить, но это прямо миимальный набор, чтобы можно было данные защитить.
P.S. Надеюсь, что я понятно объяснил свою точку зрения, вы, конечно, в праве с ней не согласится
Тоже не хочу душнить, но это тот случай когда в английской википедии написана немного другая точка зрения касательно "Открытый_формат". A doc и docx это разные вещи. Но я нашел немного другую точку зрения:
https://forum.openoffice.org/en/forum/viewtopic.php?t=54427
И там идет основной упор на патенты, с чем в принципе можно согласиться.
В России в отличии от большинства других стран, официально разрешен реверс-инжиниринг в определенной степени, поэтому применимость международной практики тут под большим вопросом.
https://dorotenko.pro/ru/reverse-and-law/
Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:
информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;
Вы почему-то так же как и автор статьи не цитируете следующий пункт.
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.
И вот тут простор для трактовки огромен. Как мы видим тут есть признаки и распространения информации, и признаки разработки аналогичного функционала. Вот в этих нюансах тут можно начать судиться годами со всеми кассациями в вышестоящие суды.
В России хоть и заявлено не прецедентное право, но все равно нужно искать правоприменительную практику по этой статье. Именно для случая чтения чужих форматов данных.
Сама программа не нужна, нужны только файлы, которые есть у пользователей в этом формате. Пользователи хотели взаимодействия со своими файлами через другую, более удобную для них программу, в данном случае - мою.
Весь основной функционал был задолго до того, как случилась эта история с форматами, был придуман мною без всяких просмотров декомпилированного кода. Если хотите у себя в программе открывать эти файлы - можете спросить меня, я покажу куда смотреть.
Google Play vs RuStore в формате APK покажут откуда готовилось нападение) Ваша ситуация иронична и очень что-то напоминает. Скопировать(занимался вязанием, думаю этому искусству и методам записи алгоритмов столько же, сколько человечеству и претендовать на это, всё равно что копирайт на русский язык или любую лингву предъявлять), обвинить, запретить - профит. Хотя корень проблемы и суть в том что вы продаёте продукт в украденном магазине(его идее и экосистеме) и вас при этом обвиняют в воровстве и взломе даже на анекдот не налезает. Ох и отхвачу сейчас от этих "это всё не мы - это всё они".
Тут даже не знаешь чей принцип лучше. Рустора, который принимает претензии от авторов программы конкурента или Гугла, где отправляют судиться и прикладывать к претензии юридически значимые аргументы (типа идите в суд, с решением возврашайтесь)
https://play.google.com/store/apps/details?id=com.noble.activity.printerperipage
вот тут просто новую шкурку на мое приложение натянули. И не фига не найдешь человека из-за того, что выложено оно с левого купленного "забытого" акка разработчика. В лохматые года там еще можно было анонимом быть (только ник и емайл)
Тут вопрос не в том, что вы формат реверснули. Скорее всего схемы = платный контент. А приложение конкурента это магазин готовых решений. А ваше приложение позволяет делать бесплатное их распространение. Любой онлайн кинотеатр или библиотека тоже не будут приветствовать альтернативных клиентов
Хм.
1. Пусть моя программа сохраняет данные в таком формате - <название моей проги+какие-то данные> - и это всё обычный txt. Это проприетарный формат который нельзя использовать?
2. Пусть моя программа сохраняет данные так же, но архивирует в zip.
3. ... архивирует в zip с паролем в виде названия программы.
ИМХО где-то в законах долно быть прописано, что если автор программы не хочет чтобы его файлы читала чужая программа - значит нельзя. А если не написано - начит можно. Ну или наоборот. Но видимо нужно вводить доппонятие - типа формат файла. Ну или создавать механизм патентования форматов - так-то это же тоже интеллектуальная собственность.
Сугубо личная точка зрения:
zip + aes + xml (как в ориг нальной программе) - это все открытые технологии и на них или их комбинацию авторское право не распостраняется. Вы можете их читать. А вот сам пароль к AES (если он один на всех) - это данные программы и на это распостраняется авторское право. Вот если бы вместо открытых форматов был бы собственный бинарный - тогда и на него распостраняется авторское право и просто читать его нельзя.
RuStore пошел навстречу и разрешил опубликовать билд без этого формата.
Гоп-стоп пошёл навстречу и оставил клиенту его жизнь, забрав только кошелёк!
До вашей статьи не знаю, что у рустора есть реальные пользователи. Думал, что это навроде поисковика спутник
Не могу сказать на счет органических пользователей, но я отправляю туда всех, кто хочет совершить покупку в приложении. В принципе, после покупки, Рустор они могут удалить и обновляться далее через Google Play. Так что для разработчика, в плане монетизации его уже существующих пользователей - это прекрасный вариант. Они берут на себя всю мороку с биллингом, я плачу им комиссию - Win-Win.
Зачем такие сложности, Google Play разрешил оплату через сторонние биллинги для RU пользователей.
Вот бы еще кто-то сделал такой сторонний биллинг для приложений. У Рустора были такие планы, но, видимо, они передумали.
Не знаю, какую оплату разрешил Google Play, но ранее купленные приложения в нем до сих пор нельзя ни скачать, ни обновить. Я только что проверил.
Потому что они куплены через биллинг Google. А для внутренних покупок в РФ вы можете теперь использовать свой биллинг, не связанный с Google. Раньше такое было запрещено.
Не поймите меня неправильно, но если я уже не могу скачать какие-то из ранее купленных приложений, это ни разу не мотивирует пробовать другие биллинги и костыли на той же самой площадке.
Второй раз на одни и те же грабли наступать — это каким-то МММ попахивает, если честно.
И биллинг тут вообще никаким боком. Приложения я купил, и давно. Запретить мне их скачивать — это гугла осознанное решение.
...кто угодно у себя на сайте пишет, что только его приложение может открывать формат mp3, связывается с RuStore по email и требует заблокировать все плееры в магазине...
Жду новую статью про блокировку плееров, наверное ситуация будет еще более абсурдная.
раз получилось с рустором, значит жалоба в плей просто вопрос времени
saga надо было бы в качестве ключей написать стишок, и зарегать как произведение, тогда незаконное копирование этого стишка сработало бы, а вот являются ли текущие ключи таким произведением и объектом авторского права, сомнительно
Подход - у нас есть эта последовательнойсть байтов в коде - поэтому это наше - ну, такое, КМК
Как RuStore может заблокировать любое приложение, если оно читает файлы