Перейти к содержанию
    

Всем привет.

 

Народ подскажите, пожалуйста, как зашифровать библиотеку .h. Локбиты программы не подойдут, поскольку есть еще С код, который будит доступен для редактирования. Но вот секреты библиотеки h открывать не хочется. Среда разработки AVR studio 4.

Может в DLL как-то можно преобразовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет.

 

Народ подскажите, пожалуйста, как зашифровать библиотеку .h. Локбиты программы не подойдут, поскольку есть еще С код, который будит доступен для редактирования. Но вот секреты библиотеки h открывать не хочется. Среда разработки AVR studio 4.

Может в DLL как-то можно преобразовать?

 

[/grouch]

Уж который раз вижу, некоторые люди хэдерные (*.h) файлы называют библиотеками.

Вы где этому нахватались? Кто вас учит?

[grouch]

 

Я не знаю, прочтите еще раз что ли Кернигана и Ритчи...

 

Маленький ликбез -- файлы, имеющие расширение .dll -- это только файлы только Виндосовских динамических библиотек! В мире бывают еще и статические. На платформе Виндовз файлы статических библиотек имеют расширение .lib. В мире Линукса тоже есть и динамические, и статические библиотеки. Соответственно их файлы имеют суффиксы (а не расширения имен!) -- .so и .a. В мире микроконтроллеров тоже есть библиотеки. Преимущественно, статические. Многие микроконтроллеры не имеют физической возможности подгружать из вне динамические библиотеки. AVR -- точно не может! Поэтому библиотеки линкуются статически с основным кодом программы. Поэтому даже в контексте Шindows понятие "библиотека DLL" для микроконтроллера не применимо.

 

А хэдерные файлы -- это всего лишь описание "интерфейса" к функциям. Причем, эти функции могут находиться как в библиотеках, так и в исходных файлах.

 

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

 

Эх, молодежь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Эх, молодежь!" - согласен всего 25 лет пока. :biggrin:

 

Почему обмолвися про DLL , то codeVision AVR и атмел студио 6 их юзает (в DLL хранится основной код, в хедере только имена используемых функций из DLL, из хедера потом они исп. в С коде). Может есть какие-нибудь другие способы по шифрованию кода?

Очень нужно плиз. хелп. Сдача проекта идет. Передаю только код, который нужен для редактирования. Ост ноухау - не хочу отдавать просто так.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, молодежь!

 

Макс, при всем уважении к Вам как будущему специалисту, как к будущему коллеге -- не за ту сиську дёргаете!

 

Во первых, любая защита вскрывается, а любая шифровка расшифровывается. Как говориться, это дело времени. А при современных мощных компах не составляет особого труда. Не пробиваемых защит не бывает в принципе!

 

Во вторых, микроконтроллер AVR -- это очень слабенький контроллер. Поэтому, вскрыть его зашифрованный каким-нибудь хитрожопым алгоритмом код -- вообще плёвое дело. В тысячи (если не более!) раз его вскрыть легче, чем комповую прогу. Причем, заметьте, если Вам удасться заствать комп будет "попотеть" надо расшифровкой, то представьте как будет сама AVR-ка вязнуть! AVR-ке прежде чем выполнять код, ей ведь тоже нужно расшифровать код. Кто это будет делать? Даже если учесть, что AVR-ка изначально знает алгоритм расшифровки, то найти в ее незашифрованном коде этот кусок (кусок кода по расшифровке) -- ну это пару вечеров посидеть.

 

В третьих. Вы думаете, что основная проблема в мире -- это придумать какое-то новое устройство (гаджет, алгоритм), написать программу? Не-ет, уважаемый! Это всё иллюзии инженеров и программистов! Самая большая проблема вмире -- найти потребителя Вашего товара и впарить ему изделие, заполучить его деньги законным путем. Для этого должен существовать рунок. На рынке должны присутствовать и производители, уже выпускающие это (или хотя бы подобное ему) изделие, и обязательно потребители, готовые за это изделие выложить свои бабки.

 

Тот производитель, кто пасёт рынок и прикармливает потребителей, тот наверняка давно перепробовал различные методы и варианты изделий и программ. Новаторство не в почете потому, что потребитель не бросится скупать нечто новое. Не советские времена. Сейчас чего только нет!

 

Как пример, могу привести случаи из своей практики. Внесение существенных изменений в изделие всегда настраживает покупателя, покупатель не спешит хвататься за новизну. Покупатель не хочет рисковать за свой счет. Его всегда устраивает старое проверенное решение. А если на рынок выводится абсолютно новое изделие -- ну это вообще проблема! Раскрутить рынок -- для этого нужно иметь и время и деньги. Пусть хоть какое распрекрасное изделие будет, но резко оно не пойдёт! А когда "пойдёт", то конкуренты уже выйдут сос воими изделиями. И они необязательно будут скопированы с чьего-либо. А поэтому плавно переходим к пункту "в четвртых".

 

В четвертых. Талантливых инженеров-программистов-разработчиков достаточно много, чтобы насытить рынок хорошо-продуманными товарами. Более того, растиражировать изделие в тысячах и более экземпларов -- тоже не проблема. Богатых людей много. Денег у них -- еще больше! У них единственная проблема -- как сохранить (преумножить) свои деньги. И они днем и ночью ищут незакрытые ниши на рынке. Но они не ищут проекты, которые возможно завоюют рынок. Поэтому, предложений по изготовлению того или иного устройства более чем достаточно. С другой строны и денег до фигищща! Но ничего не работает. Почему А потому, что "произвести продукцию на склад" -- это сосвсем не то же самое "продать продукцию и получить прибыль". Рисковать никто не будет!

 

Таким образом, в пятых, новое изделие можно продать пяти, ну или десяти потребителям. А дальше нужны реальные капиталовложения в рынок. Стало быть, даже если какой-нибудь Вася Пупкин украдет Ваш замечательный код, и, предположим, удачно сумет сделать копию Вашего изделия, то максимум, что он отнимет у вас -- пять или десять потребителей. Вы же планируете раскрутить свой бизнес ну никак не менее, чем на 100 изделий в месяц. Ведь так? Таким образом, Вася уведет у Вас пять покупателей, но Вася для Вас сформирует рынок. Сарафанное радио никто не отменял. Себестоимость изготовления 10 и 1000 изделий может отличаться до 3-5 раз. Чьи изделия будут пользоваться на рынке большим спросом -- Ваши или Васи Пупкина?

 

В шестых. Васю Пупкина, как конкурента, совсем не надо "убивать". Он должен жить долго и несчастливо. Он должен всегда плестись в хвосте Ваших новшеств. Вперед он не выпрыгнет, поскольку если бы у него был ум, то Ваш уникальный код (алгоритм) ему нафиг был бы не нужен. До него он и сам дошел бы без Вашей помощи. Однако, Вася настолько туп, что кроме как закопипастить ничего не умеет. Поэтому "его" изделия на рынке всегда будут отставать от Ваших. Более того, для массового производства изделия обязательно нужны разные приспособы, стенды для разных проверок, прошивок и т.д. Если не знаешь работу изделия, то ничего из этого не создашь. Значит, производство будет не массовое, а штучное. Значит, конечная цена будет высокой.

 

Я могу долго еще чесать языком на эту тему, но я вернусь к началу -- Вы не того боитесь. Вы не знаете, где притаилось зло и чего действительно надо опасаться! Посетите мир Линукса. Посмотрите -- кто-нибудь пытается что-то скрыть. Бывает такое, но очень редко-редко. Почему? Да потому что скрывать что-то это означает нести дополнительные потери. А если рынка как такового изначально нет, то зачем еще нужно тратиться. Какой в этом смысл? Посмотрите на мир Шindows. Что защищает фирма Майкрософт? Разве свой дырявый код от огласки и насмехательства? Нет, конечно! Разве какие-то уникальные алгоритмы? Тоже нет! Майкрософт защищает свой рынок. Она защищает экосистему Виндовса. Майкрософт кормится с этого рынка. Секретов в изготовлении операционных систем нет. Ядро Линукса ничуть не хуже, чем ядро Виндовса. (А по мне дак -- даже лучше! Но это спорный вопрос. Не хочу здесь разжигать холивар.) И тем не менее, очень многие разработчики продолжают сидеть на платформе Виндовса. Почему? Да потому, что перескачить с Виндовса на Линукс не так-то просто! Смена парадигмы, смена вероиспведания, смена одного мира на другой. Привычка -- вот оно то самое, что держит пользователей.

 

А Вы заморачиваетесь закрытием своего кода. От кого! Зачем? Что Вы от этого выиграете?

 

Мой Вам совет -- поступите с точностью до наоборот -- обнародуйте его. И посмотрите на реакцию рынка. Во всяком случае вы застолбите территорию. И, если хотите, лавры будут принадлежать Вам.

 

ЗЫ, давным давно я тоже был молодым. Я тоже вскрывал коды чужие коды и тоже закрывал свои разными алгоритмами. Но потом я понял, я делаю пустую работу. Я не тем занимаюсь, я не то и не так защищаю.

 

Вот когда вы наклонились к лесному ручью и хотите умыть лицо и снять пыл жаркого дня, Вы же не заботитесь о том, что вода переливается через край ваших ладоней? Если Вы начнете переживать за каждую каплю, которая не попала на лицо, то Вы не сможете умыться. Так вот и рынок -- он такой же полный денег и всего-всего. Научитесь черпать воду горстями и не переживать за потреи! Мир намного богаче, чем Вы думаете. Замыкание на мелочах не сделает Вас богатым. Богатыми людей делает искреннее стремление помочь другим людям. Только решая проблемы других людей, Вы становитесь богаче. И совсем не важно, какие потреи Вы при этом несете. Самое главное -- не творите зла другим людям. В этом заключается какая-то непостижимая (высшая, вселенская, трансценденткная -- что ли?) справедливость. Всё зачитывается, все дела и все помыслы. Поэтому Вам совсем не надо так сильно переживать о своих открытиях и наработках. Предоставьте эту обязанность "высшим силам".

 

Мне уже много лет. Кто знает, сколько я еще буду здесь на форуме, или вообще в этом мире. Но вот этим маленьким истинам меня учили мои учителя. Многих уже нет... Видимо, это и есть мой черед -- учить "жизни" молодое поколение.

 

Имеющий уши, да услышит.

Умеющий думать, да поймет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

to zhevak

Васю Пупкина, как конкурента, совсем не надо "убивать". Он должен жить долго и несчастливо.

А если у этого Васи рынок раз в сто шире Вышего? И дерёт он не только Выши но и многие другие изделия. Этим и живёт.

И пока вы продадите всего десяток другой изделий, Вася скопирует и продаст мульён, причем по цене ниже вашей и будет очень очень очень несчастлив. :biggrin:

Как поступить в таком случае?

 

А зачем тогда существуют биты защиты от копирования??? для глупой молодёжи?

 

Предоставьте эту обязанность "высшим силам"

На Бога надейся, а сам не плошай.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, не хотел устраивать холивар...

 

Однако.

to zhevak

 

А если у этого Васи рынок раз в сто шире Вышего? И дерёт он не только Выши но и многие другие изделия. Этим и живёт.

И пока вы продадите всего десяток другой изделий, Вася скопирует и продаст мульён, причем по цене ниже вашей и будет очень очень очень несчастлив. :biggrin:

Как поступить в таком случае?

Да никак! Ситуация надуманна.

Тот, у кого деньги и огромное влияние на рынок никогда не будет опускаться до уровня воровства чьих-то конкретных реализаций. Он будет "воровать" (если это слово вообще здесь приемлемо) идеи. Идею даже патентовать запрещено!

 

Попробую кратенько объяснить, почему конкретная реализация какого-то куска программы сильному производителю мало интересна. Для производства, а тем более для массового производства -- мало иметь кусочек кода или кусочек схемы. Никто даже пальцем не пощшевелиться ради этого know-how (ноу-хау). Для массового производства нужен комплект документации, а не вырванная из тетрадки страничка со схемай, или скопированный из микросхемы непонятный код, который _вроде_бы_ делает как раз то, что надо. Массовое производство, от которого Вы ждете подвоха никогда не пойдет на сомнительные шаги. Риск очень большой. Улавливаете суть?

 

На больших предприятиях совершенно иные проблемы. И поверьте, проблема найти чье-то изделие, чтобы скопировать его и начать выпускать его клон -- это надуманная проблема. А чье-то мелко-серийное производство будет просто не способно Вам как-то серьезно помешать. Как я уже говорил в предыдущем сообщении, даже если Ваш конкурент с чем-то "вашим" выйдет на рынок, то долго он не продержится. Но своим выходом он неизбежно поможет Вам раскрутить рынок. Рынок принадлежит не тому, кто копирует, а тому, кто способен шевелить мозгами. Ну украл я вашу прогу, вышел с ней на рынок. Дальше что? Отъел я на рынке себе какой-то кусочек. И что? А дальше пауза и ничего. Вы выпускаете следующую -- улучшенную версию, с исправленными ошибками и новыми фичами. А мне что прикажете делать? Вы понимаете, я просто не смогу нормально удержать рынок. Рынок по любому принадлежиит Вам. А если я такой умный, что могу сам писать проги и сам править баги, то мне Ваша программа нафиг не нужна! Как говориься, спасибо за идею!

 

Но от идеи до конкретной реализации в железе путь очень долгий. И преодалеть его может тот, у кого есть для этого ресурсы.

 

Катать шарики для снеговоика нужно долго и упорно. Бысро слепить большой шар на пустом месте не получиться. Не верьте тем, кто говорит, что за полгода поднял фирму с нуля до миллинных оборотов. Эти сказки не про нас! В них очень много интересных деталей опущено. А у нас из-за этого создается ощущения какого-то чуда. Чуда не бывает. Бывает утаивание фактов.

 

Вы, видимо, еще мало сталкивались с реальной раскруткой собственного бизнеса. Поправимо. Начните прямо сейчас и Вы поймете, что проблемы в "катании денежных комочков" собственного бизнеса совершенно иные. Не надо бояться, что украдут Вашу конкретную прогу. Крадет тот, кто неспособен создавать. А неспособный создавать новое -- не жизнеспособен.

 

А зачем тогда существуют биты защиты от копирования??? для глупой молодёжи?

Проблема не в битах защиты, и не в жесточайшей необходимости защищаться от ведьм. Проблема в головах разработчиков, которые не думают.

 

-- Вась, а Вась! Петровы диван купили. Давай мы тоже себе диван купим?

-- Вась! А Сидоровы поставили себе противоугонную систему. А у нас какой-то тумблер под сидением...

-- Вась, а Вась. Ленка с Вовкой каждый вечер на великах в парке катаются...

-- Вась! А Тенька второго завели...

 

Понимаете о чем я? Я о том, что люди не думают своей головой, а замечают только то, что делает их окружение. Стадный образ. Бараны, не умеющие жить вне стада. Не умеют жить по простой причне -- не научились жить _своей_жизнью_. Поэтому живут чьей-то чужой, постоянно примеряя и натягивая на себя чужие жизненные ценности. Живут в зависти, в погоне за чужими идеями. Разве это жизнь? (Ну, для кого-то это нормальная жизнь, так как другой он и незнает.)

 

Отвечайте только за себя. Мало ли что делает толпа!

 

-- Живи своим умом, Пчёла! (с) из к/ф "Бригада"

 

Кто-то защищает свои проги. Да, ну и наздоровье! Это его бизнес, его специфика. А у Вас-то, лично у Вас, -- что, разве те же самые проблемы? Разве у Вас уже есть те, кто готов скопировать Ваш код и начать делатьна нем деньги? Откиньте в сторону догмы и реально посмотрите на мир. Он другой! Защищаться надо от конкретного врага, а не от гипотетического. А когда ваг будет четко идентифицирован, определиться и тип защиты достаточно точно. Може Вам нужно не фьюзы прожигать, а юридически защищаться? От кого Вы, лично Вы, защищаетесь? За себя отвечайте, а не показывайте, что другие тоже "ружья кирпичем чистят".

 

На Бога надейся, а сам не плошай.

Всё правильно!

Богу -- богово, кесарю -- кесарево. Каждый должен выполнять _свою_ функцию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если сильно надо защитить именно исходник, почитайте про обфускацию :)

 

Еще вариант - поставлять вашу библиотеку в виде .h + объектник (так кстати сама атмел делает для своей библиотеки работы с сенсорными клавиатурами).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТС! Не слушайте. Точнее, слушайте, но думайте.

 

Откиньте в сторону догмы и реально посмотрите на мир. Он другой! Защищаться надо от конкретного врага, а не от гипотетического.

Да, вот этого-то и не хватает (посмотреть реально). Мир жесток. И защищаться надо от гипотетического врага. Т.е. защищаться от всех врагов. Потому что, если защита будет выстроена на одном направлении, то враг не будет ломиться через укрепления, а ударит на незащищенном участке.

 

Ну украл я вашу прогу, вышел с ней на рынок. Дальше что?

Да ничего, состриг моего бабла, а я подох за красивую идею.

 

ТС, прочитайте внимательно вот это:

Мне уже много лет. Кто знает, сколько я еще буду здесь на форуме, или вообще в этом мире. Но вот этим маленьким истинам меня учили мои учителя. Многих уже нет... Видимо, это и есть мой черед -- учить "жизни" молодое поколение.

Как Вы думаете, почему zhevak смог дожить до седин и состояться в профессии? Потому что раздавал направо и налево идеи и наработки? Вряд ли. Скорее, он знал как правильно построить вокруг себя "инфраструктуру".

Не слушайте советов про высшие силы, природное предназначение и т.п. В природе доброта однозначно воспринимается как слабость, а слабые погибают.

 

Вот, когда станете сильным, тогда можно будет и порассуждать о том, что говорит zhevak. Но не раньше.

 

А Вам, zhevak, желтая карточка за преподавание программы старших классов в начальной школе. :)

 

По теме надо еще не забыть про стеганографию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, не хотел устраивать холивар...
Взаимно...

 

Однако.

Тот, у кого деньги и огромное влияние на рынок никогда не будет опускаться до уровня воровства чьих-то конкретных реализаций.
Если это аксиома, то почему на Китай не распостроняется?

 

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

Уже четыре моих изделия и фиг знает сколько изделий других производителей скопировано и успешно продаются большим китайским предприятием(ями).

Качество конечно ужасное, но оно работает и дешевле.

Создаётся впечатление что там просто сидят у ждут когда же кто то сделает чего нового.

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

Что бы хотябы туда не лезли и не портили репутацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ подскажите, пожалуйста, как зашифровать библиотеку .h. Локбиты программы не подойдут, поскольку есть еще С код, который будит доступен для редактирования. Но вот секреты библиотеки h открывать не хочется.

Существую способы разбиения программы на открытую и закрытую части. Но "шифрование библиотеки .h" - это не один из этих способов.

Если реально хотите это сделать, то расскажите поподробнее о своём проекте. Тогда старшие товарищи смогут подсказать, как реализовать упомянутое выше разбиение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уже четыре моих изделия и фиг знает сколько изделий других производителей скопировано и успешно продаются большим китайским предприятием(ями).

Давайте пример, что бы было наглядно. Так как не очевидно, что это копия а не аналог.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я сказал свое мнение по вопросу. И оно тоже не на пустом месте.

 

Например, пару месяцев назад прислали машинные коды, попросили разобраться. Я глянул на код, оценил примерный объем работы, накинул еще 50% на "вдруг да что-нибудь пойдет не так" назвал сроки и сумму. Заказчик согласился и готов был сделать предоплату. Я отказался, так как пока деньги не получены есть стимул работать. Начл работать. В процессе стали появляться интересные подробности, я начал задавать вопросы Заказчику. В конце концов оказалось, что нужно было "вскрыть" граббер. (Это такое устройство, которое прослушивает эфир и фиксирует коды открытия/закрытия автомобилей.) В общем я отказался. По этическим соображениям. Сказал, что сегодня на ваши деньги я куплю авто, а завтра с помощью этого же граббера уведут мой автомобиль. В чем прикол? А если еще органы и начнут обратно раскручивать... ну и зачем мне такие дорогие деньги?

 

А надо ли напоминать, что в Инете периодически проскакивают объявления о вскрытии защищенных микроконтроллеров и вычичтывании из них кодов? Причем, цена от 2000 до 5000 долларов.

 

А что касается узкоглазых братьев, то у них совершенно другой менталитет. У них украсть даже не считается за преступление. И защищаться от их мега-производства (чтобы они не скопировали) нужно не этими способами.

 

Если хотите, еще пример. У меня была запатентована схема пожарного извещателя, работающего в ультра-фиолетовом диапазоне. Татары скоприровали одею получения высокого напряжения, но не на MSP340, как это было реализовано у меня, а на ATMEGA16. Юридически все чисто. Но тем не менее -- факт. Дак что теперь, на рынок вообще не выходить что ли? Или все устроство заливать эпоксидкой?

 

Так что с моей точки зрения фигню, Вы несете, уважаемый! Полную фигню. Врага надо знать в лицо. И знать свою реальную цену на рынке. А всяких баек про промышленный шпионаж можно напридумывать много. Потом ими пугать наивных граждан.

 

Хорошая защита стоит дороже, чем само устройство. Но любая защита вскрывается за определенное количество времени. И если ко времени вывода на рынок клона вашего устройства, Вы успеваете сделать более лучший вариант, то Ваши конкуренты будут работать себе в убыток.

 

Вы реально начните продавать свое мега-защищенное устройство и почувствуйте реальные проблемы рынка. Конечно, если 10-20 устройств в год -- это масштабы Вашего бизнеса... ну тогда я не прав. Тогда нам не о чем говорить. Мои извинения!

 

И всё-таки случился холивар. (По моей винее. Да.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошая защита стоит дороже, чем само устройство. Но любая защита вскрывается за определенное количество времени. И если ко времени вывода на рынок клона вашего устройства, Вы успеваете сделать более лучший вариант, то Ваши конкуренты будут работать себе в убыток.
Согласен на 100%. Так и работаем. Не дают расслабиться гады.

 

Вы реально начните продавать свое мега-защищенное устройство и почувствуйте реальные проблемы рынка. Конечно, если 10-20 устройств в год -- это масштабы Вашего бизнеса... ну тогда я не прав. Тогда нам не о чем говорить. Мои извинения!
Если бы было 10-20 изделий в год я был бы рад чтобы скопировали и прорекламировали бесплатно.

Кстати, с одним из изделий именно так и произошло. :biggrin:

 

по-моему, достаточно увидеть работу устройства на AVR, чтобы потом в течение недели разработать полный аналог, а может, и даже лучший вариант :)
Эх, мне бы Ваши способности... Я Вам завидую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...