Михаиллл
МихаилллOct. 31, 2019, 2:05 p.m.

Можно ли в Qt декомпилировать apk-файл?

Добрый день?
Можно ли в Qt декомпилировать apk-файл?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

9
Evgenii Legotckoi
  • Nov. 1, 2019, 3:20 a.m.

Добрый день.

Вы имеете ввиду apk, который собран на Qt? Или любой? Вообще декмопиляция к Qt никакого отношения не имеет как само действие.
Вам нужно искать информацию на две темы:

  • декомпиляция apk, которые написаны с использованием NDK (то есть написаны на C++, Qt в том числе)
  • декомпиляция apk, которые написаны на Java (то есть с использование SDK)

Вообще не самая хорошая мысль )) Только время зря потратите, по-моему.

    Михаиллл
    • Nov. 1, 2019, 3:23 a.m.

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

      Evgenii Legotckoi
      • Nov. 1, 2019, 3:29 a.m.

      Ну то, что написано на Java - это можно. Там же код транслируется в исполняемый байт-код.

      Но C++ компилируется в ассемблер. Если это даже и будет декомпилировано обратно в классы, то при проекте, который написан на Qt вы получите следующую ситуацию:

      • все названия классов, методов и т.д. будут иметь невнятные имена, которые не будут соответствовать тому, что было написано изначально в проекте.
      • при декомпиляции всё будет свалено в кучу, QML реализации, исходники проекта, moc файлы (в которых и так-то чёрт ногу сломит, а тут они ещё будут с невнятными именами) и т.д.

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

        Михаиллл
        • Nov. 1, 2019, 3:40 a.m.

        Нет, цель в не в том, что бы понять чужей проект, а в том, что бы посмотреть что будет при декомпиляции. Скажите пожалуйста, что такое moc файлы?

          Evgenii Legotckoi
          • Nov. 1, 2019, 3:48 a.m.

          moc файлы - это файлы исходных кодов, которые генерируются автоматически при сборке Qt проектов. Это как раз все эти сигнал-слотовые соединения.
          А также там генерируется вся мета информация, которая нужна для мета-объектной системы Qt.

          Скомпилируйте любое обычное приложение на Qt под десктоп и посмотрите в build каталоге. Там будут файлы с префиксом moc_

            Evgenii Legotckoi
            • Nov. 1, 2019, 3:50 a.m.
            • The answer was marked as a solution.

            А вообще, если хотите посмотреть, что там будет при декомпиляции, то к Qt это прямого отношения не имеет.
            Вам нужно искать информацию о декомпиляции APK, написанных с использованием NDK, то есть на С++

              Михаил Сермяжко
              • Nov. 1, 2019, 4:30 a.m.

              Спасибо.

                Михаиллл
                • Nov. 15, 2019, 3:45 a.m.

                Оказалось можно разобрать арк, оказалось в содержимом такой бардак, что дествительно черт ногу сломает. Qml разбиты на qml и xml, появилось много файлов java, код с++ собран в машинный код, при его декомпиляции появляется совершенно не понятный набор цифр и букв. И еще какието бинарники джавы есть, тоже не понятно что это. Оказалось что декомпилировать проект не имеет смысла. Можно достать только картинки.

                  Evgenii Legotckoi
                  • Nov. 15, 2019, 3:48 a.m.

                  Ну собственно поэтому я и сказал, что бесполезное это занятие.

                    Comments

                    Only authorized users can post comments.
                    Please, Log in or Sign up
                    Г

                    C++ - Test 001. The first program and data types

                    • Result:66points,
                    • Rating points-1
                    t

                    C++ - Test 001. The first program and data types

                    • Result:33points,
                    • Rating points-10
                    t

                    Qt - Test 001. Signals and slots

                    • Result:52points,
                    • Rating points-4
                    Last comments
                    G
                    GoattRockSept. 3, 2024, 11:50 p.m.
                    How to Copy Files in Linux Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
                    ВР
                    Влад РусоковAug. 2, 2024, 11:47 a.m.
                    How to Copy Files in Linux Screenshot_20240802-065123.png
                    d
                    dblas5July 5, 2024, 9:02 p.m.
                    QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                    k
                    kmssrFeb. 9, 2024, 5:43 a.m.
                    Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
                    Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
                    Now discuss on the forum
                    Evgenii Legotckoi
                    Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
                    добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
                    F
                    FynjyJuly 22, 2024, 2:15 p.m.
                    при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
                    BlinCT
                    BlinCTJune 25, 2024, 11 a.m.
                    Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
                    BlinCT
                    BlinCTMay 5, 2024, 3:46 p.m.
                    Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
                    Evgenii Legotckoi
                    Evgenii LegotckoiMay 3, 2024, 12:07 a.m.
                    Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

                    Follow us in social networks