LINUX.ORG.RU

Вопрос по культям

 


0

2

Подскажите, можно ли раздербанить Qt/QML приложение и выдрать из него чистые QML файлы с исходниками? Вторая часть вопроса, я увидел, что приложение создает qmlrc файлы (кэш) - его можно как то раздербанить?

Это вообще законно, лицензия позволяет дизассемблировать код?

Технически оно хранится в бинарном виде внутри бинарника (какой каламбур).

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

Технически оно хранится в бинарном виде внутри бинарника

Собсно как и любая другая прогамма

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

Я в образовательных целях, если меня спросят, можно ли написать приложение на QML и его тексты не сопрут, я буду знать что сказать. Мне интересно, на каком этапе оно комплируется и что за кеш qmlrc?

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

Разница в том, что если не использовался QtQuick Compiler, то хранится оно в текстовом виде и исходники можно вытащить.

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

Откуда в тебе столько злости? Злой как собака..

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

Много тех, кто хочет познакомиться вживую с тем что есть в разрабатываемой версии и тех кто хочет начать новый проект. Считаю вопрос некорректным. ты против альфа версии? ты против того, что в Qt это есть?

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

Нет, я против того, что ты называешь её 5.10. Если это альфа, то и называй её альфой. Стабильной 5.10 ещё нет.

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

Ну если это единственное против чего ты возражаешь то я даже готов принести свои извинения за это)

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

Обычно если не хотят светить .qml, кладут файлы в кутешные ресурсы, которые компилируются rcc на этапе сборки приложения.

Про то, как qml исполняется, рекомендую почитать https://www.kdab.com/qml-engine-internals-part-1-qml-file-loading/

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

Обычно если не хотят светить .qml, кладут файлы в кутешные ресурсы, которые компилируются rcc на этапе сборки приложения.

в ресурсах они хранятся как обычные сишные строки, то есть открываешь бинарник в текстовом редакторе и ищешь что-то типа «import QtQuick» - и вот все наши QML файлы в первозданном виде. Без использования платного Quick Compiler я делал так:

1) компилируем ресурсы с помощью rcc -binary -o qrc.bin project.qrc
2) кодируем его любым методом, например банальным xor с захардкоженым ключом

Далее в рантайме программа расшифровывает ресурс qrc.bin и подгружает его автоматом с помощью QResource::registerResource().

Проблема в том, что все эти кодирования/раскодирования тоже можно похачить при желании. Но от дурака спасает.

former_anonymous ★★★
()

Подскажите, можно ли раздербанить Qt/QML приложение и выдрать из него чистые QML файлы с исходниками?

Если в приложение вшита какая-то информация и приложение может ее прочитать, то ее всегда можно вытащить наружу. Как уже написали выше, есть способы усложнить эту операцию.

Как вариант, если в приложении есть нетривиальный js-код, то можно попробовать воспользоваться обфускаторами JS

annulen ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

QT - это QT. Почему у тебя от этого возгорание пердака соверешнно непонятно

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