12

I was looking at the web search results of “how to manually root Android devices” and I noticed that most of those are either just advertising stuff or makes use of dedicated (particularly closed source) rooting solutions. Those which worked some time ago are now obsolete since they depended on some security vulnerability in Android which was fixed over time....


11

First to clarify only root (UID 0) isn't enough to get access to /data at least since Android 5. Discretionary Access Control based on traditional UNIX UIDs/GIDs alone doesn't fulfill the needs of modern complex OSes like Android. DAC is supplemented by Mandatory Access Control (MAC); SELinux in case of Android. So to access /data your process/user must ...


8

The authentication token for Google accounts and of other accounts which uses AccountManager class are stored inside: /data/system/users/0/accounts.db # for Android Marshmallow and earlier /data/system_ce/0/accounts_ce.db # for Android Nougat and above. 0 implies primary user of the device. If you have secondary user accounts, replace 0 with the user ...


7

I'm going to give a general overview of how dm-verity and related things work on Android according to my limited knowledge. Situation might differ on different devices and ROMs. HOW IS DM-VERITY ENFORCED? dm-verity (Verified Boot and AVB) as well as dm-crypt (FDE) are targets of device-mapper feature of Linux kernel. dm-verity verifies the integrity of ...


6

According to this piece of source code by Intel, there is an uint32_t starting at position0x78 (120) and ending at 0x7b (124). This location is marked as "flags from the AvbVBMetaImageFlags enumeration", which "must be set to zero if the vbmeta image is not a top-level image". On to the enumeration itself. AvbVBMetaImageFlags is defined in the same file and ...


4

Android framework takes care of a lot of things when forking an app from zygote. In short, it's nearly impossible to run an app process from commandline so that it behaves “exactly the same way” as if the app was properly launched. Continue reading to have an idea of why it's so. In order to run bash in Termux app's context so that it behaves exactly the ...


4

This can be marked a duplicate of questions like this, but it's a device-specific question. It cannot be answered in a generic way, should be “How to root XYZ Android device without unlocking bootloader?” Simple answer is: It should not be possible to root Android devices without unlocking bootloader, but is possible for some devices due to security ...


3

You can't create or modify OTA zip without the proper OEM signing key. However, there exist holes in older devices like Samsung Galaxy Y which allow flashing unofficial zip with test keys, but these kind of hacks are outdated (source) if you want to create OTA zip you need update-binary for your device and write updater-script in EDIFY language you can ...


3

You don't give certain apps root permission, but certain apps ask for root permission by executing su binary. It's the developer of the app who decides if the app would perform some tasks with root privileges or not. In order to let apps request root privileges, you need to root your device using e.g. Magisk, SuperSU etc. (whatever works on your device). ...


2

When looking at a Pixel 3a device running Android 10 the location is data/user_de/0/com.android.providers.telephony/databases/telephony.db user_de is the _d_evice _e_ncryption related user directory, use user instead if the phone does not support this Not strictly related to the question about the user provided storage location, but this might be useful for ...


2

Processes receive signals from other processes or kernel as a warning or as a request to make some change in state. Receiving processes can block, ignore or catch signals, except SIGKILL which does what the name says. A process receives SIGHUP (hangup signal) when its controlling terminal (virtual or pseudo) disconnects or its controlling process (which is ...


2

These commands don't work always: sometimes the system_new.img size becomes greater than system.img.ext4 and hence it doesn't flash on the device. As per my knowledge, the new image size should be equal to or less than the size of the original system image. ---- If anyone will be able to determine the new commands then please share it. To Unpack-Modify-Pach ...


2

since at least 2019 there is f-droid privilege extension https://f-droid.org/en/packages/org.fdroid.fdroid.privileged.ota/ to install you don't need root but you need twrp or similar custom recovery installed on your device. https://twrp.me/ you also need adb installed on your pc and usb debugging enabled on your device. in the following steps all adb ...


2

If you want to "flex your root muscle" so to speak, there are options using Xposed modules, but these options do not require it. Battery full notifications are a bit of a workaround: Open Settings and select the Notifications option Click See All under the Recently Sent list Select All from the dropdown in the top left Click the 3 dots in the top right and ...


2

If you go through How Magisk works and How to manually root a phone it would be easy for you to figure out why it's impossible to achieve what you are looking for. init is the very first process started by kernel, which at its early stage sets SELinux enforcing (if it's not already enforcing). Before that happens, we need to modify SELinux policy so that it ...


2

The problem was that the tablet had installed Family Link. Once I removed the account from Family Link, tapping the build option worked.


2

echo "chmod 666 /dev/diag" >> /system/etc/init/cameraserver.rc won't work. You need to provide an init trigger as well. For instance: ~# echo "on boot" >/etc/init/dev_diag_chmod.rc ~# echo " chmod 666 /dev/diag" >>/etc/init/dev_diag_chmod.rc ~# chown 0.0 /etc/init/dev_diag_chmod.rc ~# chmod 0644 /etc/init/dev_diag_chmod.rc ~# chcon u:...


1

We have authenticated login, encrypted archive, rsync and multiple transport protocols (including HTTP, WebDAV, FTP and SSH/SFTP) in one tool: rclone. It supports local filesystem and a number of cloud storage. Additionally it does have all of the four mentioned servers builtin. It means that all you need on both sides is rclone. No root access is necessary ...


1

USB OTG is a hardware capability. Software can't tell if the hardware has this capability or not if it's not configured to do so. The app you show is just confirming the presence of host.xml file that you have put yourself. Also you can confirm that form adb shell: ~$ pm list features | grep usb.host # OR ~$ dumpsys package features | grep usb.host For USB ...


1

Setting a charging limit is not persistent. Therefore the call has to be made (with root permissions) at least once after every reboot. Rooting/unrooting requires at least a reboot. Therefore you can't "temporarily root" your device and set a charging limit. If your device does not provide something like an intelligent battery charging optimization the ...


1

I am searching for any way to inject them permanently. As explained in my answer to your previous question: How to make SELinux injected rules persistent without unpacking-packing boot.img? you need to modify SELinux policy file in order to inject rules permanently. Policy could either be monolithic (pre-compiled sepolicy file on initramfs or /system or /...


1

For LZ4 compression: lz4 -B6 --content-size system.img.ext4 system.img.ext4.lz4 command can be used to make a valid Odin Flashable file. To Fix "FAIL! (Auth)", we need to truncate the vbmeta.img file and remove the signature from the boot.img. The detail is mentioned on Magisk install guide under Instructions section.


1

Is there a way I can clear all of the phones app data (I am not talking about app cache)? From adb shell do: ~$ pm list packages | sed 's/^package://' | xargs -I {} pm clear '{}' This will clear all apps's data and cache. Is there a way I can reset the phone without re-enabling the apps? No. But as @Firelord suggested in comment, create a list of ...


1

There are times Titanium Backup does not work, so I use System App Remover (root needed). However, as indicated here, a workaround for Titanium Backup is to install Termux. Issue the following commands from Termux su setenforce 0 Then try to uninstall the apps again with Titanium Backup This sets SElinux to "permissive". Then you can uninstall all your ...


1

Binaries can't be executed on /sdcard because it's an emulated filesystem with fixed file permissions, mounted with noexec mount option. Create alpine directory on some other filesystem e.g. /data: ~# mkdir -p /data/local/tmp/alpine/bin Place your executable in newly created directory and do chroot: ~# cd /data/local/tmp ~# chmod 0755 alpine/bin/busybox ~#...


1

Apparently I can't post comments yet, so here's my thoughts in an answer. Try searching for the package name of the app that's showing the notifications. A quick Google search finds this app which seems to do what you're looking for. Hope I helped.


1

android.permission.ACCESS_SUPERUSER was defined by SuperSU but: Due to changes in Android 5.0 Lollipop, this permission has been deprecated and is completely ignored from SuperSU v2.30 onwards Also only app which declares a permission in its AndroidManifest.xml file can be granted that permission. Shell (com.android.shell) is an AOSP's dummy app to ...


1

Enable root access for adb from the developer settings menu. Then connect your usb cable and type: adb root It should return restarting adbd as root Now relaunch the shell adb shell


1

I found the answer. It is not possible because of the hardware itself. LG sucks really. Here is the info from their developers site which explains all the difficulty (LG K8 not listed below :(): "The following devices support unlocking the bootloader: • LG V50: LMV500EM for the European market • LG V40: LMV405EBW for the European market • LG G7: LMG710EM ...


1

I gave up on the mount_nfsd_fuse driver because the ntfs-3g driver uses fuse also and has proprietary kernel hooks in it. It comes installed from I believe the Ntfs ULB mounter this is a permission and file issue between two different mount files not in the path when the termux tsu command is the root super user command invoked. termux is screwing the ...


Only top voted, non community-wiki answers of a minimum length are eligible