LINUX.ORG.RU

Mono для проприетарного кросс платформенного приложения


0

2

Является ли Mono адекватным выбором для разработки проприетарного кросс платформенного приложения? Насколько сложно декомпилировать бинарный код? Учитывая что насколько я понял используется Run Time поддержка для скомпилированного приложения? Настолько же сложно как native код скомпилированный, например, компилятором C++ или это что то типа Python bytecode?


Без обфускатора даже имена некоторых переменных должны восстановиться ( по крайней мере с .net было именно так).

Собственно, пиши код, а то знаю я таких хлопцев, приложение говеное, падает постоянно, зато ключиком хасповым зашифрован бинарничек.

RedPossum ★★★★★
()

Является ли Mono адекватным выбором для разработки проприетарного кросс платформенного приложения?

На работе приходится на бгмерзком шарпе кодить. Как-то раз начальство заинтересовалось, можно под линухом запустить код: что я могу сказать. Безо всякой подготовки скомпилировалось и запустилось. Естественно я понимаю, что настроить odbc это тот ещё геморрой, а про связанные библиотеки вообще молчу. Но тем не менее...

Насколько сложно декомпилировать бинарный код? Обфускатор гугли.

ziemin ★★
()

К сожалению, тут похерили мой FAQ по подобным вопросам, ну да ладно...

Является ли Mono адекватным выбором для разработки проприетарного кросс платформенного приложения?

Q: Готов ли Mono для коммерческого использования?
fixed
A: Да. (Но есть нюанс)

Насколько сложно декомпилировать бинарный код?

Q: Можно ли на .NET писать closed-source системы?
fixed
A: Нет. (Но есть нюанс)

В общем, ты задал не те вопросы, которые следует поднимать «для разработки проприетарного кросс платформенного приложения» (с).

d_Artagnan ★★
()
Ответ на: комментарий от tyler19

И вообще немного перефразирую вопрос - что лучше выбрать для такого проекта? Возможно и C++ но хотелось бы что то более высокого уровня для ускорения разработки, но в то же время компилящееся в бинарник. Ну и какой лучше GUI toolkit?

tyler19
() автор топика

Пиши на перле, обфусцируй в голове. Я почти серьезно. С дотнетом тебя тут сейчас закидают плохими штуками.

buddhist ★★★★★
()
Ответ на: комментарий от tyler19

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

Если разработка коммерческого продукта начинается с вопроса: «а как защитить код?», то у меня для тебя плохие новости.

d_Artagnan ★★
()
Последнее исправление: d_Artagnan (всего исправлений: 1)
Ответ на: комментарий от tyler19

Я писал про «нюансы», что же такое за «ньюанс» - знать не знаю.

В первом случае - надо понимать, что Mono не тождественен .NET
Во втором случае - obfuscated код хоть и декомпилируется, но это вовсе не значит, что можно легко и непринужденно (сиречь «дешево») восстановить логику декомпилированного кода.

d_Artagnan ★★
()
Последнее исправление: d_Artagnan (всего исправлений: 1)
Ответ на: комментарий от ziemin

Как-то раз начальство заинтересовалось, можно под линухом запустить код: что я могу сказать. Безо всякой подготовки скомпилировалось и запустилось.

Чистое везение :) Такое счастье, как беспроблемный запуск .NET-программы в *nix, даже MoMA не гарантирует.

d_Artagnan ★★
()
Ответ на: комментарий от d_Artagnan

Чистое везение

Да нет. Стиль разработки. Слабые места (вроде odbc и купленной opc библиотеки) я уже обозначил. А так - я был уверен, что всё заработает.

ziemin ★★
()

Что если зашифровать python bytecode, а расшифровщик внедрить в модифицированный интерпретатор python'а? Разрешает ли распространять модифицированный интерпетатор без исходников лицензия?

tyler19
() автор топика

Если очень будет нужно, то из байт-кода восстановят более или менее читаемый исходник. Смотри пример minecraft, там все обфусцированно в официально распространяемых jar, но для модо-писания есть специальные средства деобфускации.

kamre ★★★
()

Является ли Mono адекватным выбором для разработки проприетарного кросс платформенного приложения?

Это смотря что понимать под «кросс-платформенным». Если запуск под разными ОС одного и того же скомпилированного кода, то других вариантов кроме .net и mono немного, ну только java разве что. Но часто под «кросс-платформенностью» понимают несколько иное. Мне кажется нужно определиться с терминами.

Насколько сложно декомпилировать бинарный код?

Несложно, я бы даже сказал просто.

mbivanyuk ★★★★★
()

Госссподи, когда хоть тебя уже забанят.

Deleted
()
Ответ на: комментарий от tyler19

Да он не знает что сам несет по этому отвечает вопросом на вопрос

bhfq ★★★★★
()

С wine больше шансов.

anonymous
()
Ответ на: комментарий от tyler19

Комплируется и обфусцируется еще как. Но вот незадача, чтобы писать кросс на перле и выпускать бинари надо очень-очень сильно постараться.

gh0stwizard ★★★★★
()
Ответ на: комментарий от d_Artagnan

Чистое везение :) Такое счастье, как беспроблемный запуск .NET-программы в *nix, даже MoMA не гарантирует.

Не везение, а написание кода без использования p/invoke и com interop. Что, кстати, не всегда ведет к хорошо работающему приложению, хоть и ведет к портабельности.

zhuravlik ★★★★
()
Ответ на: комментарий от d_Artagnan

Анекдот

Старый пошлый анекдот.

В.И.

- Петька, снимай штаны и раком становись!

П.

- Зачем ?!

В.И.

- Быстро! Нет времени объяснять!

Петька делает всё как ему сказал Василий Иванович, а он ему засаживает хер в задницу. И говорит.

- Петька, у меня хер в жопе и у тебя хер в жопе, но есть ньюанс!

rezedent12 ☆☆☆
()
Последнее исправление: rezedent12 (всего исправлений: 1)
Ответ на: комментарий от d_Artagnan

Например, Code Contracts - p/invoke или com interop ? ;)

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

zhuravlik ★★★★
()

А что вы думаете насчёт Vala (http://en.wikipedia.org/wiki/Vala_(programming_language)) Который компилируется в C код который потом можно скомпилировать в нормальный бинарный код с помощью gcc? И Gtk в качестве GUI. Выглядит как очень достойный вариант. Есть ли какие подводные камни?

tyler19
() автор топика
Ответ на: комментарий от antares0

Существует много кроссплатформенного софта с использованием GTK. Разве могут быть проблемы с маздаем? Или может лучше тогда взять wxWidgets?

tyler19
() автор топика
Ответ на: комментарий от tyler19

Существует много кроссплатформенного софта с использованием GTK.

Не так чтоб уж много.

Разве могут быть проблемы с маздаем?

Могут. Он не целевая плпатформа. И может быть все что угодно.

Или может лучше тогда взять wxWidgets?

Если умешь, то несомненно. И Qt раз уж начали

antares0 ★★★★
()
Ответ на: комментарий от antares0

Мне честно говоря не очень понравился qt, всё запутано, какие то костыли типа макросов, moc компилятора.

tyler19
() автор топика
Ответ на: комментарий от tyler19

Что выбрать?

Может вы опишите требования к своему приложению?

Patrick13
()

инкрементирую лойсы к высказыванию д'Артаньяна

нужно делать продукт, который не будет смысла копировать, а не который будет сложно скопировать, а так, Mono уже можно пользовать, если руки прямые

EugeneBas ★★
()
Ответ на: комментарий от EugeneBas

нужно делать продукт, который не будет смысла копировать

Я такой продукт, бывает, несколько раз в день в сортире делаю.

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

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.