Qt for Android

Issues related to VMProtect
Post Reply
chainik
Posts: 16
Joined: Wed Nov 08, 2017 11:02 am

Qt for Android

Post by chainik »

Приложение на Qt под Андроид.
Как оно работает: прога компилируется в native library, затем неведомыми тулзами это всё оборачивается в apk, где java-код сначала запускает либу самой Qt, а уже оттуда грузится моя либа, из которой вызывается main(), ну и поехали.
Защищаем только свою либу. Вне зависимости от ничего - хоть защищать сам main(), хоть какую-то левую функцию, хоть только строки без функций - результат один:

Code: Select all

I/QtCore  (13597): Start
I/Qt      (13597): qt started

E/audit   (  517): type=1400 audit(1768417515.034:19120): avc:  denied  { execmod } for  pid=13597 comm="qtMainLoopThrea" path="/data/app/.../lib/arm64/libxxx_arm64-v8a.so" dev="sda31" ino=2359773 scontext=u:r:untrusted_app_29:s0:c173,c257,c512,c768 tcontext=u:object_r:apk_data_file:s0 tclass=file permissive=0 audit_filtered
E/libxxx_arm64-v8a.so(13597): Initialization error 1
I/Zygote  (  543): Process 13597 exited due to signal 9 (Killed)
Qt запускается, но на моменте загрузки основной либы какой-то audit все зарубает, VMP ругается на "Initialization error 1", и все умерли.

ИИ нам сообщает что
The avc: denied { execmod } message indicates that the Android SELinux (Security-Enhanced Linux) policy is blocking a process associated with an untrusted app from executing code out of a memory region that has been modified (e.g., from a writable/executable memory mapping). This is a security feature designed to prevent the execution of arbitrary, potentially malicious, code on the device.
Что делать? :?
Admin
Site Admin
Posts: 2809
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Qt for Android

Post by Admin »

"Initialization error 1" показывается в случае когда mprotect, вызываемый из кода инициализации вмпротекта, вернул ошибку.
chainik
Posts: 16
Joined: Wed Nov 08, 2017 11:02 am

Re: Qt for Android

Post by chainik »

да, а делать-то что?
выхода нет, работать на стоковом андроиде не будет?
chainik
Posts: 16
Joined: Wed Nov 08, 2017 11:02 am

Re: Qt for Android

Post by chainik »

Вон что нашел: https://android-review.googlesource.com ... y/+/937658
Коммит называется "Allow execmod for apps with targetSdkVersion=26-28"

Собрал с targetSdkVersion=28 - и, действительно, audit не зарубает инициализацию.
Другое дело что это так себе выход, конечно... как минимум потому что в маркет такое положить нельзя.
chainik
Posts: 16
Joined: Wed Nov 08, 2017 11:02 am

Re: Qt for Android

Post by chainik »

Так, для понимания, какие-то идеи - ожидать?
Или официальная позиция что VMP не совместим с Android >=10, и точка?
Admin
Site Admin
Posts: 2809
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Qt for Android

Post by Admin »

chainik wrote: Thu Jan 15, 2026 10:47 am да, а делать-то что?
Выключить опцию "Упаковать выходной файл".
chainik
Posts: 16
Joined: Wed Nov 08, 2017 11:02 am

Re: Qt for Android

Post by chainik »

выключена, не в этом дело
Admin
Site Admin
Posts: 2809
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Qt for Android

Post by Admin »

Исправлено в 2553.
Post Reply