Site Tools


software:android

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:android [2020/05/26 12:30]
– [Для старых систем] root
software:android [2023/11/11 21:04] (current)
– [Автозапуск для Magisk] root
Line 1: Line 1:
-====== Мотивация ======+====== Android: зачистка и настройка перед использованием ====== 
 + 
 +Мотивация:
   - Повысить приватность: удалить весь софт который без спроса отправляет и получает данные   - Повысить приватность: удалить весь софт который без спроса отправляет и получает данные
   - Экономия заряда: устройство делает только то что нужно владельцу   - Экономия заряда: устройство делает только то что нужно владельцу
Line 40: Line 42:
 ====== Получение удалённого доступа ====== ====== Получение удалённого доступа ======
 Для удобства работы лучше всего установить [[https://github.com/Entware/Entware|Entware]] и через него поставить OpenSSH, mc и прочие утилиты. Для удобства работы лучше всего установить [[https://github.com/Entware/Entware|Entware]] и через него поставить OpenSSH, mc и прочие утилиты.
 +
 +Быстрый способ если уже установлен свежий Magisk с использованием ADB
 +Проверить наличие /data/adb/magisk/busybox, если есть то
 +<code>cd /mnt
 +/data/adb/magisk/busybox wget http://netlab.dhis.org/download/software/entware/install/entware_install.sh
 +chmod +x entware_install.sh
 +sh entware_install.sh
 +</code>
 +
  
 Лучше заранее подготовить micro-sd с: Лучше заранее подготовить micro-sd с:
Line 52: Line 63:
 Из F-Droid устанавливаем: Из F-Droid устанавливаем:
   * Terminal Emulator   * Terminal Emulator
-  * Ghost Commander+  * Ghost Commander / Material Files
   * AnySoftKeyboard   * AnySoftKeyboard
   * BusyBox   * BusyBox
  
 Заходим в BusyBox и инсталлируем.\\ Заходим в BusyBox и инсталлируем.\\
-Если произошла ошибка - скорее всего Android 9+, в нём нет отдельно точки монтирования /system и оно просто часть /, поэтому придётся править скрипты BusyBox.\\ +\\ 
-Используя Ghost Commander в файлах:\\+Если произошла ошибка - скорее всего Android 9+, в нём нет отдельно точки монтирования /system и оно просто часть.\\ 
 +Есть альтернативный пакет BusyBox в F-Froid с иконкой duck, он не требует дополнительных действий.\\ 
 +Ручное исправление: используя Ghost Commander в файлах:\\
 **/data/data/ru.meefik.busybox/files/scripts/install.sh** \\ **/data/data/ru.meefik.busybox/files/scripts/install.sh** \\
 **/data/data/ru.meefik.busybox/files/scripts/remove.sh** \\ **/data/data/ru.meefik.busybox/files/scripts/remove.sh** \\
Line 99: Line 112:
  
 ==== Автозапуск для SuperSU ==== ==== Автозапуск для SuperSU ====
 +Требуется каждый раз после очистки /data заново ставить SuperSU и прописывать.
 <code>ln -fvs /system/opt/bin/optstart.sh '/su/su.d/000001_opt' <code>ln -fvs /system/opt/bin/optstart.sh '/su/su.d/000001_opt'
 ln -fvs /system/opt/bin/optstart.sh '/sbin/supersu/su.d/000001_opt' ln -fvs /system/opt/bin/optstart.sh '/sbin/supersu/su.d/000001_opt'
Line 110: Line 124:
  
 # define service, use executable here if script not needed # define service, use executable here if script not needed
-service entware /system/opt/bin/optstart.sh+service entware /system/bin/sh /system/opt/bin/optstart.sh
     # don't start unless explicitly asked to     # don't start unless explicitly asked to
     disabled     disabled
Line 135: Line 149:
  
  
 +Если это не срабатывает, можно попробовать отредактировать SELinux правила и добавить их загрузку.
 +В терминале:
 +<code>
 +/system/bin/supolicy --live 'allow init * * *'
 +/system/bin/supolicy --save /system/etc/selinux/sepolicy
 +</code>
 +
 +И добавить в rc файл:
 +<code>
 +on property:sys.boot_completed=1
 +    exec u:r:magisk:s0 root root -- /system/bin/load_policy /system/etc/selinux/sepolicy
 +</code>
  
 +[[https://android.stackexchange.com/questions/207484/how-to-run-dnscrypt-as-a-background-service-on-android/207647#207647|Источник android.stackexchange.com]]
 ==== Автозапуск на старых системах ==== ==== Автозапуск на старых системах ====
 Информация больше для справки, и на случай если потребуется искать способ запуска без SuRoot/Magisk.\\ Информация больше для справки, и на случай если потребуется искать способ запуска без SuRoot/Magisk.\\
  
 +
 +=== Поиск мест для автозапуска ===
 +Скрипт для поиска возможных скриптов откуда можно делать автозапуск:
 +<code>dmesg | grep "init: cannot find" | sed -e "s|.*cannot find '||" | sed -e "s|', disabling '.*||"</code>
  
  
-=== Для старых систем ===+=== Andriod 4 и младше === 
 +До 5 андройда в файлах /system/bin/install-recovery.sh или /system/etc/install-recovery.sh:
 <code> <code>
 echo '' >> install-recovery.sh echo '' >> install-recovery.sh
Line 158: Line 190:
 </code> </code>
  
 +
 +=== Samsung SM-J120F ===
 +В SM-J120F (андройд 5.1.1) не получилось найти способа чтобы сразу запускать стааторвыйе скрипты entware, все попытки обрывались на том, что не хватало прав, а su не работал из за ограничений SeLinux - не мог связатся со своей службой чтобы повысить права.\\
 +Пришлось делать запуск через magisk, разместив файл /data/adb/service.d/entware.sh, который просто запускает optstart.sh. \\
 +Особенности этого решения:
 +  * симлинки magisk отказывается обрабатывать, как для папки service.d так и для её содержимого; \\
 +  * magisk размещает busybox в /data/adb/magisk а samsung на уровне ядра запретил запуск из /data, поэтому пришлось скопировать busybox в /opt и сделать симлинк;
 +  * чтобы после очистки /data сохранить автозапуск потребовалось добавить скрипт [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/setup_autorun_legacy.sh|/opt/bin/setup_autorun_legacy.sh]] в найденные места автостарта, как оказалось прав доступа там хватает для работы с /data.
 +
 +Скрипт setup_autorun_legacy.sh атоматически определяет что он запущен на samsung и в этом случае переносит busybox в /opt.
 +
 +Чтобы скрипт запускался автоматически нужно в начало файла /system/etc/init.sec.boot.sh (после shebang) добавить:
 <code> <code>
-ln -s /system/opt/bin/optstart.sh /system/bin/dmbserver +/system/opt/bin/setup_autorun_legacy.sh /dev/kmsg
-ln -s /system/opt/bin/optstart.sh /system/bin/insthk +
-ln -s /system/opt/bin/optstart.sh /system/bin/IPSecService +
-ln -s /system/opt/bin/optstart.sh /system/bin/sdp_cryptod +
-ln -s /system/opt/bin/optstart.sh /system/bin/sem_daemon +
-ln -s /system/opt/bin/optstart.sh /system/bin/sysmon +
-/system/bin/restorecon -Rv /system/etc/+
 </code> </code>
  
-Samsung:+Затем выполнить:
 <code> <code>
-echo '' >> /system/etc/init.goldfish.sh +chmod +x /system/etc/init.sec.boot.sh 
-echo '/system/opt/bin/optstart.sh' >> /system/etc/init.goldfish.sh +ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/load_amber_modules.sh 
-echo '' >> /system/etc/init.goldfish.sh+ln -sf /system/opt/bin/setup_autorun_legacy.sh /system/bin/sysmon 
 +/system/bin/restorecon -Rv /system/bin/ 
 +/system/bin/restorecon -Rv /system/etc/ 
 +</code>
  
-echo '' >> /system/etc/init.sec.boot.sh 
-echo '/system/opt/bin/optstart.sh' >> /system/etc/init.sec.boot.sh 
-echo '' >> /system/etc/init.sec.boot.sh 
  
-/system/bin/restorecon -Rv /system/etc/+ 
 +=== Samsung SM-G531F Galaxy Grand Prime === 
 +<code> 
 +ln -s /system/opt/bin/optstart.sh /system/bin/insthk 
 +ln -/system/opt/bin/optstart.sh /system/bin/sysmon
 </code> </code>
 +Первым стартует sysmon, при этом у него ограниченный SeLinux контекст, которого достаточно чтобы запустить все что нужно для entware, однако позднее есть ограничения по работе с /system через ssh.\\
 +Поэтому в скрипт [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/optstart.sh|/opt/bin/optstart.sh]] был добавлен блок кода, который проверяет что магиск установлен и если да, то когда скрипт выполняется не под SeLinux контекстом magisk он перезапускает сам себя через su и продолжает работу уже под SeLinux контекстом magisk.
  
  
  
 +=== Samsung GT-I9300I Galaxy S III Duos ===
 +<code>
 +ln -s /system/opt/bin/optstart.sh /system/bin/auditd
 +</code>
  
-=== rootagent ===+Ещё можно попробовать добавить автозапуск в /system/etc/init.qcom.bt.sh и init.qcom.post_boot.sh, но похоже что достаточно auditd. 
 +=== HiScreen Spider и прочие на qualcom ===
 Сработает только если есть служба rootagent. Сработает только если есть служба rootagent.
 <code>echo '' >> /system/build.prop <code>echo '' >> /system/build.prop
Line 192: Line 241:
 ln -s /system/opt/bin/optstart.sh /system/etc/init.qcom.rootagent.sh ln -s /system/opt/bin/optstart.sh /system/etc/init.qcom.rootagent.sh
 </code> </code>
- 
- 
- 
-=== Поиск мест для автозапуска === 
-Скрипт для поиска возможных скриптов откуда можно делать автозапуск: 
-<code>dmesg | grep "init: cannot find" | sed -e "s|.*cannot find '||" | sed -e "s|', disabling '.*||"</code> 
  
  
  
 ====== Программы для удаления ====== ====== Программы для удаления ======
-===== /system/app ===== +Лучше посмотреть в скрипте: [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/app_disabler.sh|/opt/bin/app_disabler.sh]]
-<code>AdupsFota +
-AdupsFotaReboot +
-AgingTest +
-agold.AgoldFactoryTest +
-AgoldAutoPowerOnOff +
-AgoldRingtoneService +
-AgoldScanning +
-AguiAccAndAlspsCalibration +
-AguiBatteryStatsDumper +
-AguiCompass +
-AguiMemoryTester +
-AguiSoundRecorder +
-AllShareCastPlayer +
-AllshareFileShare +
-AllshareMediaShare +
-ApplicationsProvider +
-BasicDreams +
-BatteryWarning +
-BluetoothMidiService +
-BluetoothTest +
-BookmarkProvider +
-BtTool +
-BuiltInPrintService +
-CalendarDataMigrator +
-CalendarImporter +
-Camera +
-CaptivePortalLogin +
-Chrome +
-ChromeCustomizations +
-ClockPackage +
-ClockPackage_N_Tablet +
-CompanionDeviceManager +
-CtsShimPrebuilt +
-Devicemessages114 +
-Devicemessages118 +
-DictDiotekForSec +
-Drive +
-Duo +
-EasterEgg +
-EmergencyProvider +
-ESEServiceAgent +
-eSETerminal +
-ExactCalculator +
-FactoryAirCommandManager +
-FactoryCameraFB +
-FileManager +
-Flashlight +
-FlipboardBriefing +
-Gallery2 +
-Gallery2PhotoPicker +
-Gallery2StereoBackground +
-Gallery2StereoCopyPaste +
-Gallery2StereoFancyColor +
-Gallery2StereoRefocus +
-GameOptimizer +
-GameOptimizingService +
-Gba +
-GBoard +
-GearManagerStub +
-Gmail2 +
-GoogleCalendarSyncAdapter +
-GoogleContactsSyncAdapter +
-GooglePrintRecommendationService +
-GoogleTTS +
-Hangouts +
-IMEIApp +
-KeyChain +
-KidsHome_Installer +
-KidsHome_N +
-Maps +
-MDMApp +
-MDMConfig +
-MDMLSample +
-MiraVision +
-mldapchecker +
-MobilePrintSvc_Samsung +
-MtkBrowser +
-MtkCalendar +
-MtkFloatMenu +
-MTKLogger +
-Music +
-Music2 +
-Omacp +
-PacProcessor +
-PartnerBookmarksProvider +
-Photos +
-PrintSpooler +
-SamsungCalendar +
-SamsungCalendar_Stable +
-SamsungMembersStub +
-SamsungOne +
-SamsungTTS +
-SBrowser_5.+
-SchedulePowerOnOff +
-SCPMClient_N +
-ScreenCapture +
-SecHTMLViewer +
-SecMemo3-tablet +
-SecurityLogAgent +
-SetupWizardLegalProvider +
-ShortcutBackupService +
-SmartMirroring +
-SmartReminder +
-SmartSwitchAgent +
-SMusicPicker +
-SoundRecorder +
-SPrintSpooler +
-SPrintSpooler7 +
-STalkback +
-SysScope +
-talkback +
-TasksProvider +
-Toolbox +
-UniversalMDMClient +
-Videos +
-VideoTrimmer +
-VideoTrimmer_Tablet +
-WallpaperBackup +
-WallpaperPicker +
-WAPPushManager +
-Weather_SEP10.+
-WebManual +
-WifiGuider +
-withTV +
-YGPS +
-YouTube +
-</code> +
- +
- +
- +
-===== /system/priv-app ===== +
-<code>AgoldNewSos +
-AguiWallPaper +
-AndroidPlatformServices +
-AppUpdater +
-BackupRestoreConfirmation +
-BadgeProvider_N +
-Baidu_Location +
-BeaconManager +
-BixbyService +
-BlockedNumberProvider +
-CallLogBackup +
-CallRecorderService +
-CarrierServices +
-ClockPack_v40 +
-ConfigUpdater +
-ContactsDataMigrator +
-ContainerAgent3 +
-CtsShimPrivPrebuilt +
-DailyBoard +
-DeviceQualityAgent +
-DuraSpeed +
-EasySetup +
-EmergencyInfo +
-EmojiUpdater +
-Excel_SamsungStub +
-FaceService +
-FaceUnlock +
-Finder +
-Finder_v7 +
-Fmm +
-FotaAgent +
-GalaxyApps_3xh +
-GalaxyApps_Tablet +
-GalaxyAppsWidget_Tablet_TabA101 +
-GmsCore +
-GoogleBackupTransport +
-GoogleFeedback +
-GoogleLoginService_tablet +
-GoogleOneTimeInitializer +
-GooglePartnerSetup +
-GoogleRestore +
-GoogleServicesFramework +
-ImsTelephonyService +
-imsservice +
-ImsService +
-KeyguardWallpaperUpdator +
-KLMSAgent +
-knoxanalyticsagent +
-KnoxCore +
-LegacySmartManager +
-LegacySmartManagerProvider +
-ManagedProvisioning +
-MmsService +
-MusicFX +
-NSFusedLocation_v3.+
-OfficeMobile_SamsungStub +
-OneDrive_Samsung_v2 +
-OneDrive_Samsung_v3 +
-PersonalPageService +
-Phonesky +
-PhotoStudio_Beyond_Lite +
-PhotoStudio_WQHD_Dream_ArcSoft_Private +
-ProxyHandler +
-ringtoneBR +
-SamsungAccount_Dream +
-SamsungAccount_Star +
-SamsungBilling +
-SamsungCalendarProvider +
-SamsungCamera +
-SamsungCamera6 +
-SamsungCloud +
-SamsungCloudClient +
-SamsungContacts +
-SamsungContacts80 +
-SamsungDeviceHealthManagerService +
-SamsungDigitalWellbeing +
-SamsungExperienceService +
-SamsungGallery2018 +
-SamsungInCallUI +
-SamsungSocial +
-SamsungVideoPlayer2016 +
-SecCalculator_N +
-SecCalendarProvider_NOTSTICKER +
-SecEmail_N +
-SecGallery2015 +
-SecLiveWallpapersPicker +
-SecMyFiles2017 +
-SecMyFiles2018 +
-SecSetupWizard_Global +
-SecSetupWizard2015 +
-SecureFolder +
-SecureFolderStub +
-SEMFactoryApp +
-SettingsReceiver +
-SetupWizard +
-SetupWizard_tablet +
-SharedStorageBackup +
-smartfaceservice +
-SmartManager_v5 +
-SmartManager_v5_DeviceSecurity +
-SmartManager_v6_DeviceSecurity +
-SMusicPicker +
-SOAgent +
-SPPPushClient +
-SPPPushClient_Prod +
-StatementService +
-StickerCenter +
-StickerFaceAR3 +
-StickerProvider +
-StickerStamp +
-Stk1 +
-StoryService +
-TagGoogle +
-Turbo +
-TurnSilent +
-Velvet +
-WallpaperCropper +
-WfoService +
-Word_SamsungStub +
-</code> +
- +
  
 ===== Остальное ===== ===== Остальное =====
Line 517: Line 307:
 </code> </code>
  
 +
 +
 +===== Отключение предупреждения о вреде прослушивания =====
 +<code>adb shell
 +echo 'audio.safemedia.bypass=true' >> /system/build.prop
 +exit
 +</code>
  
  
Line 529: Line 326:
 ==== Исправление разрешений ==== ==== Исправление разрешений ====
 После копирования настроек из **/data/data** приложения с ними работать не будут тк не правильно выставлены разрешения, владелец и SeLinux атрибуты.\\ После копирования настроек из **/data/data** приложения с ними работать не будут тк не правильно выставлены разрешения, владелец и SeLinux атрибуты.\\
 +См скрипт: [[http://www.netlab.linkpc.net/download/software/entware/opt/bin/fix_datadata_perms.sh|/opt/bin/fix_datadata_perms.sh]]
  
  
Line 564: Line 361:
 Из этих папок приложения устанавливаются сами и могут быть полностью удалены пользователем: Из этих папок приложения устанавливаются сами и могут быть полностью удалены пользователем:
   * **/system/vendor/operator/app**   * **/system/vendor/operator/app**
-  * **/system/product/preload/SER/hidden_app** (SER = Россия; специфично для Samsung; не работает после удаления приложений Samsung из /system/priv-app)+  * **/system/preload/** 
 + 
 +Из этих папок софт ставит самсунговский CSC при первой настройке (SER = Россия): 
 +  * **/prism/preload/SER/hidden_app** 
 +  * **/system/product/preload/SER/hidden_app**
   * **/system/csc/SER/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)   * **/system/csc/SER/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)
   * **/system/csc/common/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)   * **/system/csc/common/system/app** (аналогично предыдущему, для андройд 7 и возможно младше)
Line 576: Line 377:
  
  
 +==== Оригинальные прошивки ====
 +[[https://samfrew.com/]]
 +
 +
 +
 +==== TWRP ====
 +[[https://twrp.me/Devices/Samsung/]]
 ==== Клавиатура ==== ==== Клавиатура ====
-**SamsungIMEv3.3Tab** или как то так.\\+**SamsungIMEv3.3Tab**, **HoneyBoard** или как то так.\\
 Может иметь в зависимостях другие самсунговские сервисы и без них начать падать.\\ Может иметь в зависимостях другие самсунговские сервисы и без них начать падать.\\
 Лучше установить **AnySoftKeyboard**, обеспечить автоустановку или разместить в **/system/app** чтобы гарантировать наличие работающей клавиатуры сразу после очистки устройства.\\ Лучше установить **AnySoftKeyboard**, обеспечить автоустановку или разместить в **/system/app** чтобы гарантировать наличие работающей клавиатуры сразу после очистки устройства.\\
Line 595: Line 403:
 /data использовался хак с перемонтированием файловой системы: /data использовался хак с перемонтированием файловой системы:
 <code>/system/bin/mount -o rw,bind /data/opt /opt</code> <code>/system/bin/mount -o rw,bind /data/opt /opt</code>
 +Либо можно использовать симлинк, если файлы лежать за пределами /data.\\
 +Подробнее: [[https://stackoverflow.com/questions/36674727/permission-denied-on-exec-from-a-binary-running-as-root|stackoverflow]], [[https://github.com/termux/termux-packages/issues/3672|termux-packages]]
 +
 +
  
  
Line 605: Line 417:
 \\ \\
 Чтобы избежать этого нужно: Чтобы избежать этого нужно:
-  - удалить из **/system/priv-app**: **Rlc** +  - удалить из **/system/priv-app**: **KnoxGuard**, **Rlc** 
-  - в **build.prop** (любой из) добавить: <code>ro.security.vaultkeeper.feature=0</code>+  - в **build.prop** (любой из) добавить: 
 +<code> 
 +ro.security.vaultkeeper.feature=0 
 +ro.security.vaultkeeper.native=0 
 +</code> 
 \\ \\
 Или зашить через TWRP: RMM-State_Bypass.zip который делает примерно тоже самое: заменяет на 0 значение "ro.security.vaultkeeper.feature" в файлах: Или зашить через TWRP: RMM-State_Bypass.zip который делает примерно тоже самое: заменяет на 0 значение "ro.security.vaultkeeper.feature" в файлах:
Line 625: Line 442:
  
  
 +{{tag>software howto linux android entware}}
software/android.1590496224.txt.gz · Last modified: 2020/05/26 12:30 by root