2013-11-18 2 views
2

Я разрабатываю приложение, которое будет использоваться на управляемой платформе. С управляемой платформой я подразумеваю, что она будет работать на устройстве, которое использует Android в качестве платформы. Обычных Android (приложений для телефона и планшетов не будет установлено, только пользовательское программное обеспечение компании).Как я могу предоставить свои права доступа к системному приложению для привязки привилегированных портов?

Корневая файловая система смонтирована как r/w, и я могу нажать свой файл apk в/system/app/и начать свою деятельность и службы.

Моя цель - предоставить службу, работающую на порте ниже 1024. При привязке этого порта tcp я получаю сообщение об ошибке EACCES denied. Как я могу разрешить моему приложению связываться с этим портом?

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

Мой вопрос: как предоставить моему приложению права на привязку к привилегированному порту, когда я могу установить приложение в качестве системного приложения и получить root-доступ (на оболочке adb) к устройству.

ответ

0

0-1023 в основном используется для других протоколов. Вы пробовали использовать более высокий порт? В противном случае убедитесь, что владелец прав, если нет, то используйте chown и убедитесь. Если они не работают, поставьте ls -l для получения привилегий.

+0

Позвольте мне уточнить, что я создал DNS-сервер UDP, который возвращает усеченный. Поведение по умолчанию - повторить попытку на TCP-порту 53 для DNS. Я хочу использовать этот TCP-порт 53 для привязки для предоставления DNS-сервера для проекта. Я не могу обойти TCP. На каком файле я должен делать chown? Поскольку apk in/system/app является пользователем root, group root и permissiosn 644, как и остальные apks в этой папке. – Jordi

Смежные вопросы