Bypass secure USB debugging prompt on phone with broken screen - Galaxy S II Q&A, Help & Troubleshooting

Hello everyone,
I have a Samsung Galaxy S II (I9100) with Cyanogenmod 11 (Snapshot M12) installed. Recently I dropped my phone and the screen was completely shattered. The display does not work, neither does the touch. However, the phone works fine as I can turn it on and connect it via USB to my computer and access the data on my internal memory. Although USB debugging is enabled on my phone, I am unable to do anything because the computer isn't authorised i.e. I cannot press "OK" on the authentication prompt that I would have otherwise normally seen on the screen (screenshot attached). Is there any way to bypass this prompt or a workaround for it? I basically need to get a Nandroid backup of my phone and then factory reset it.
P.S.: I tried to access my phone via a program called "Android Control" but apparently it is practically useless without the debugging privileges.
Thanks.

Solved!
This guide assumes that USB debugging was enabled on your device before you broke it. You can enable USB debugging via recovery using:
Code:
adb shell
echo "persist.service.adb.enable=1" >>/system/build.prop
echo "persist.service.debuggable=1" >>/system/build.prop
echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop"
reboot
After digging through various threads I finally managed to bypass the secure USB prompt on my Galaxy SII with a shattered screen.
For this method to work you need another device running Android 4.4.2 or above with USB debugging enabled and the same computer authorised from that device i.e. connect that device to your computer and press "OK" on the authorisation prompt that appears on screen for secure USB debugging. Let us call this device the "authorised device".
"adb_keys" is the file we need from the authorised device which is located in /data/misc/adb/
Normally you must be rooted to take the adb_keys file from the device using "Root explorer" or "ES File Explorer" but I will assume that the authorised device is unrooted. You don't need to root it. However, if your authorised device is rooted then simply copy the adb_keys file on your computer and jump directly to Step 5.
Steps:
Connect the authorised device to your computer using USB (debugging enabled) and open a command prompt with administrator privileges.
To get the "adb_keys" file, use this command:
adb pull /data/misc/adb/adb_keys <destination path>/adb_keys
For example:
adb pull /data/misc/adb/adb_keys c:/adb_keys
The above command will save the adb_keys file to the root of your C: drive. You can change the destination folder to your liking. Now the job of the authorised device is done. You can disconnect it and disable USB debugging.
Once you get a copy of adb_keys, reboot the phone with the broken screen into recovery.
Now connect the broken phone to the computer using USB.
We need to copy the adb_keys file to the broken device. Use the command below:
adb push <file location> /data/misc/adb
For example:
adb push c:/adb_keys /data/misc/adb
After the file is copied, reboot your device using "adb reboot" and voila! You can now use adb shell.
Special thanks to torankusu for this post which helped me compile this guide.
Check out this thread by k.janku1 if you want to have full control over your device even with a broken screen (requires Java Runtime Environment and Visual C++ redistributable). This tool lets you use your device through your Windows PC even if your touchscreen doesn't work or you can't see anything.
P.S.: My broken device was a Samsung Galaxy SII running Cyanogenmod 11 (M12) and my authorised device was an unrooted Moto G running stock ROM.

Thanks man.

I'm (noob) trying to follow the guide which exactly fits my situation.
Status : Broken SGS7 screen with USB debugging enabled but cannot accept the computer
SGS4 backup phone where i extracted the adb_key
both are not rooted and running stock OS
Unfortunately i get stuck between step 6/7... When i reboot to recovery mode the windows does not recognize neither of the phones when conneted to USB. Therefore i cannot run the ADB command and copy the key on my broken phone (SGS7).
i can choose the "aply update From ADB" and then the computer recognizes the phone and i can find it in ADB devices "sideload" but here i cannot use the command "adb push....."
Ii've tried updating drivers googled alot, but without luck...
what am i missing?
input very appreciated

I too am a noob who was trying to follow this guide, which also exactly fit my situation. My status was a broken Sony Xperia screen with USB debugging enabled, but I was unable to click on the "accept" button whenever I hooked my phone up to my PC. I extracted a working adb_key from my new Asus ZooXS phone; neither phone is rooted, and both are running stock Android OS.
Unfortunately, I got stuck right between Steps 7 & 8; Windows did not allow me to use the ADB Push command to copy the key onto my broken Sony Xperia. I could Pull the key from my Asus using ADB just fine, but not the other way around.
I did eventually find an alternative solution: I used an OTG device & hooked up a mouse to my Sony Xperia so that I could get past the broken screen issues & navigate to Settings > Bluetooth. I then borrowed a Bluetooth Mouse & "discovered" it with my broken Sony Xperia. I could then unplug the OTG device & re-connect my phone to my PC via USB, & then click on the screen using the Bluetooth Mouse to "accept" my computer as always being authorized to perform USB debugging. Afterwards, I was able to use Helium backup to pull off most of my important data from my phone.
Hope this helps others who are running into the same problem....

i don't get it - authorizing adb via adb

The steps maq_ posted helped me rescue my data from my broken OP3. Combined with the information from here: https://stackoverflow.com/questions...b-rsa-key-with-broken-touch-screen-on-android which indicates the files between the computer (running adb) and the key file you copy to /data/misc/adb should "match" with each other. Indeed, you might need to have been bootloader unlocked (with a custom recovery) to use adb push to copy the adb_keys file to your broken phone. For me, since my broken phone was rooted I used a terminal emulator with the 'su' command (after successfully getting the file onto my broken phone) to copy the file over to /data/misc/adb.
Some tips that might help newbs before following maq_'s steps: First, re-install another copy of adb (remember the path you installed to on your PC). Second, erase contents of c:\Users\$name\.android\ (which contains existing keys generated by adb). Third, run adb kill-server to make sure other instances of adb don't confuse things.
maq_ said:
This guide assumes that USB debugging was enabled on your device before you broke it. You can enable USB debugging via recovery using:
After digging through various threads I finally managed to bypass the secure USB prompt on my Galaxy SII with a shattered screen.
For this method to work you need another device running Android 4.4.2 or above with USB debugging enabled and the same computer authorised from that device i.e. connect that device to your computer and press "OK" on the authorisation prompt that appears on screen for secure USB debugging. Let us call this device the "authorised device".
"adb_keys" is the file we need from the authorised device which is located in /data/misc/adb/
Normally you must be rooted to take the adb_keys file from the device using "Root explorer" or "ES File Explorer" but I will assume that the authorised device is unrooted. You don't need to root it. However, if your authorised device is rooted then simply copy the adb_keys file on your computer and jump directly to Step 5.
Steps:
Connect the authorised device to your computer using USB (debugging enabled) and open a command prompt with administrator privileges.
To get the "adb_keys" file, use this command:
adb pull /data/misc/adb/adb_keys <destination path>/adb_keys
For example:
adb pull /data/misc/adb/adb_keys c:/adb_keys
The above command will save the adb_keys file to the root of your C: drive. You can change the destination folder to your liking. Now the job of the authorised device is done. You can disconnect it and disable USB debugging.
Once you get a copy of adb_keys, reboot the phone with the broken screen into recovery.
Now connect the broken phone to the computer using USB.
We need to copy the adb_keys file to the broken device. Use the command below:
adb push <file location> /data/misc/adb
For example:
adb push c:/adb_keys /data/misc/adb
After the file is copied, reboot your device using "adb reboot" and voila! You can now use adb shell.
Special thanks to torankusu for this post which helped me compile this guide.
Check out this thread by k.janku1 if you want to have full control over your device even with a broken screen (requires Java Runtime Environment and Visual C++ redistributable). This tool lets you use your device through your Windows PC even if your touchscreen doesn't work or you can't see anything.
P.S.: My broken device was a Samsung Galaxy SII running Cyanogenmod 11 (M12) and my authorised device was an unrooted Moto G running stock ROM.
Click to expand...
Click to collapse

Thanks for clarifying TWRP and UNLOCKED bootloader is required.
TWRP is not available for some devices. Luckily i found a ported recovery.img for my broken tablet. Unfortunately adb shows device as offline in TWRP, adb does not work in recovery.
I finally managed installing adbkey.pub via script. does not work on dm-verity, KNOX enabled or locked devices!
1. install ODIN (Samsung) or SPFLASH tool (MTK)
2. get the firmware for your device (fw.updato.com)
3. unpack system.img
4. add your own shell script (backdoor) to /system/etc/init.d, /system/etc/install-recovery.sh or whatever
5. repack your custom system.img
6. flash system.img
7. copy RSA Key to /sdcard via MTP
My (backdoor) shell script was a watchdog looking for another shell script on /sdcard. The second shell script was copying adbkey.pub from /sdcard to /data partition. This worked without root because init scripts run with root permissions on boot.
With this method i was able to backup userdata from my broken tablet via adb. TWRP has adb backup option too, in case touch screen is broken.
I will explain in detail on request.
edit: for experts only: instead of flashing whole system.img, you can do slight modification using Tarek Galal inception Utility via ODIN, for example "Place your adb keys, configure USB debugging"
edit2: most recent version of that backdoor script can be found here
https://forum.xda-developers.com/showthread.php?t=4111923

my touch is broken and i cant select usb authorization as ok... device is not rooted...
device name is sony z3...
i have another device with 4.4 and with that device i made a backup of drm keys... now what should i do?
sorry if english is bad... helpwill be really appriciated....

hello, i have te same problem with my huawei p smart. does this work for huawei to?

no, but you can connect OTG keyboard and unlock screen. that should unlock MTP you can at least transfer pictures. even Monitor via MHL/HDMI is possible for some devices
https://dtmedia.tech/list-of-mhl-compatible-phones

speedin said:
I'm (noob) trying to follow the guide which exactly fits my situation.
Status : Broken SGS7 screen with USB debugging enabled but cannot accept the computer
SGS4 backup phone where i extracted the adb_key
both are not rooted and running stock OS
Unfortunately i get stuck between step 6/7... When i reboot to recovery mode the windows does not recognize neither of the phones when conneted to USB. Therefore i cannot run the ADB command and copy the key on my broken phone (SGS7).
i can choose the "aply update From ADB" and then the computer recognizes the phone and i can find it in ADB devices "sideload" but here i cannot use the command "adb push....."
Ii've tried updating drivers googled alot, but without luck...
what am i missing?
input very appreciated
Click to expand...
Click to collapse
Hi
I have the same connection impact when I use adb command too. Is there any solution for this situation?
Thank you.

aIecxs said:
Thanks for clarifying TWRP and UNLOCKED bootloader is required.
TWRP is not available for some devices. Luckily i found a ported recovery.img for my broken tablet. Unfortunately adb shows device as offline in TWRP, adb does not work in recovery.
I finally managed installing adbkey.pub via script. does not work on dm-verity, KNOX enabled or locked devices!
1. install ODIN (Samsung) or SPFLASH tool (MTK)
2. get the firmware for your device (fw.updato.com)
3. unpack system.img
4. add your own shell script (backdoor) to /system/etc/init.d, /system/etc/install-recovery.sh or whatever
5. repack your custom system.img
6. flash system.img
7. copy RSA Key to /sdcard via MTP
My (backdoor) shell script was a watchdog looking for another shell script on /sdcard. The second shell script was copying adbkey.pub from /sdcard to /data partition. This worked without root because init scripts run with root permissions on boot.
With this method i was able to backup userdata from my broken tablet via adb. TWRP has adb backup option too, in case touch screen is broken.
I will explain in detail on request.
edit: for experts only: instead of flashing whole system.img, you can do slight modification using Tarek Galal inception Utility via ODIN, for example "Place your adb keys, configure USB debugging"
Click to expand...
Click to collapse
ThanK You Senior for posting the solution.
Can you please help me in this.
I am using mediatek device
Didn't find /system/etc/init.d
Didn't find /system/etc/install-recovery.sh
But found "" install-recovery.sh "" inside /system/bin folder
Now do i have to only paste the your given rsa_copy.sh scrip in this file?
and paste the pub_keys from authorize device to /sdcard/

That method will most likely fail because dm-verity deny booting if any modifications detected. You can however patch boot.img with Magisk (to disable dm-verity). What android version/mediatek device you have?
Yes you can replace install-recovery.sh or add line
Code:
/system/bin/sh /path/to/rsa_copy
/system/bin/sh /path/to/99userinit_daemon
But I do not recommend this method any longer, modifications in /system should be avoided. Instead you could simply disable RSA authorization and enable usb-debugging in default.prop
https://forum.xda-developers.com/showthread.php?t=1867446
I recommend AIK it is capable of re-signing AVBv1-signed boot.img

I have android 7
mt6753
init.d is n't here
placing code inside install-recovery.sh didn't work because it runs with root privileges
now i am trying to cp /system/adbkey.pub /data/misc/adb/adb_keys
and tring to modify boot.img

aIecxs said:
That method will most likely fail because dm-verity deny booting if any modifications detected. You can however patch boot.img with Magisk (to disable dm-verity). What android version/mediatek device you have?
Yes you can replace install-recovery.sh or add line
Code:
/system/bin/sh /path/to/rsa_copy
/system/bin/sh /path/to/99userinit_daemon
But I do not recommend this method any longer, modifications in /system should be avoided. Instead you could simply disable RSA authorization and enable usb-debugging in default.prop
https://forum.xda-developers.com/showthread.php?t=1867446
I recommend AIK it is capable of re-signing AVBv1-signed boot.img
Click to expand...
Click to collapse
Senior Help. (I am extra noob)
I also noticed data folder inside boot.img can I directly put " adb" folder here?

no. data directory is just mount point. no longer required to place adb_keys, just edit default.prop with Notepad++

aIecxs said:
no. data directory is just mount point. no longer required to place adb_keys, just edit default.prop with Notepad++
Click to expand...
Click to collapse
I attempted this trick with working phone's boot.img (working img) but even after repacking boot.img without edits phone stuck/hangs on boot (without animation)
Recommend me a good tool for unpacking and repacking boot.img with guide.
(I already tried with android kitchen on Linux (This one's boot.img make phone report after boot animation) and unpack/repack Tool on windows ( http://www.mediafire.com/file/nvo2popw26k4mit/IMG_Extractor_2.0.rar/file) and this one's boot.img doesn't boot phone to boot animation and hangs on initial logo)
I tried this on other working phone

@osm0sis may have a look into boot.img can you upload please?

aIecxs said:
no. data directory is just mount point. no longer required to place adb_keys, just edit default.prop with Notepad++
Click to expand...
Click to collapse
I attempted this trick with working phone's boot.img (working img) but even after repacking boot.img without edits phone stuck/hangs on boot (without animation)
Recommend me a good tool for unpacking and repacking boot.img with guide.
(I already tried with android kitchen on Linux (This one's boot.img make phone report after boot animation) and unpack/repack Tool on windows ( http://www.mediafire.com/file/nvo2popw26k4mit/IMG_Extractor_2.0.rar/file) and this one's boot.img doesn't boot phone to boot animation and hangs on initial logo)
aIecxs said:
@osm0sis may have a look into boot.img can you upload please?
Click to expand...
Click to collapse
Yes please,
LT700 is for testing purpose workig phone.
Both phones are almost from the same manufacturer (Note: but different models) Even unmodified repacked file does make phone boot success.
Uploading both stock and magisk patched working images of both phone

Related

Problams and solution while rooting

It might seem a bit stupid, but maybe others will encounter one of this issues and it will help them. your more than welcome at add to this.
P: computer wont recognize device in debug mode. instead it recognizes "android 1.0" or something else.
S: download HTC sync. it contains the proper drivers.
P: while activating the *.bat file you get the erroe "adb out of date...killing". the script will run all the way, but root access wont be given.
s: you need to close all adb processes from task manager, and the htcsync process as well (on PC)! also, you need to reflash the img file, and try rooting again.
HTC SYNC
after 10 attempts at ROOT, I found this tread. It is CRITICAL that you stop the HTCSync process on you PC or root will not work!
HTC Sync on the tab or on the pc? I killed it on the tab through the running applications. To kill adb processes just close the command window on the pc.
you need to kill it on the PC.
Ok so noob question of the day!
Where are you supposed to input the commands (such as adb reboot bootloader) to start the kernel flash process? I tried in cmd as well as terminal emulator on the tablet with no luck, what am I missing here?
NJFM said:
Ok so noob question of the day!
Where are you supposed to input the commands (such as adb reboot bootloader) to start the kernel flash process? I tried in cmd as well as terminal emulator on the tablet with no luck, what am I missing here?
Click to expand...
Click to collapse
you should have ADB in your c:\android folder, or wherever your sdk is installed.
Do a search for adb with your pc to find out where you installed it.
then using the command prompt under start> programs> accessories> command prompt, go to the corrected directory that ADB is in.
to go to C:\android, for example, type " cd c:\android "
Then you would execute the adb commands, (example: adb reboot bootloader)
Go to youtube and search for a 'how to use ADB' tutorial.
I'm having difficulty hotbooting the insecure kernel.
I've uninstalled HTC Sync on my PC, and I've downloaded the insecure kernel to my SD card's root directory.
I have no problem rebooting the bootloader via adb, and my device is detected. However, when I try to hotboot the kernel, I routinely get a "cannot load" response. I'm typing in "fastboot boot [filename].img."
Suggestions?
Many thanks.
the insecure kernel shouldn't go to the SD card. only the wifi module should.
the *.img file should go to the adb\tools directory,
(maybe you can put it anywhere else and just write the full path while flashing, i'm not sure. i just copy this files to the tools directory and flash them from there. easiest way)
the flash command flashes the file from the directory on the computer to the device.
Thanks very much!
I'm sitting here laughing to myself because I'd tried changing the path in the command to a couple of places I'd placed the insecure kernel in my PC; the c: root directory and a directory I'd created to house downloaded Jetstream files. Obviously, neither worked.
Placing it in the adb\tools directory makes complete sense.
By the way, your mention of the "wifi module" sent me back to DooMLoRD's kernel thread. I see that you flashed the kernel and related wifi module on 1/4. Like others who posted, are you pleased with the kernel?
Thanks, again!
The kernel seems very nice and almost no one complaind.
Sent from my GT-I9000 using XDA App

Tutorial : How to turn on USB debugging on device with broken screen.

Here is how I succeeded to enable USB debugging (also adb and remote view) on Samsung Galaxy Note 4 with broken screen.
1. Following the DeathDrifterz's advice I was able to set the device in recovery mode with ROOT access and adb :
DeathDrifterz said:
So, I have a Galaxy Note 4, broken screen, broken digitizer. Do not have access too an MHL cable or Mouse to hook up to TV. The phone has a password and usb debugging disabled, so kies and the computer won't recognize it. Not even when in download mode. I did flash CWM rcovery to the phone, but this still wouldn't allow me to see the phone in recovery mode. What did work was I downloaded the trial version of Wundershare Dr. Fone, booted phone into download mode, let the program run and start searching for files. Stopped the program. Unplugged the phone. Exited Dr Fone. Opened cmd in the platform-tools folder of the SDK platform. At this point, I was now able to see the phone, in recovery, listed under ADB Devices.
So Dr Fone took the phone from download mode (vol down + home + power, then press vol up after vibrate) to recovery mode once it started finding files. Disconnect the phone from the PC, exit Dr Fone and reconnect the phone to the PC. It will still be in recovery mode. Open cmd prompt in the platform-tools folder. adb devices shows phone in recovery, used adb pull /sdcard/ and it worked like a charm. All files on the phone have now been downloaded.
Broken screen, no digitizer, password locked, USB debugging disabled, and it was free. Took 5 minutes once Dr Fone was downloaded (will take longer if you don't have the sdk tools.)
Hope it helps.
Click to expand...
Click to collapse
2. In other forum I found tutorial how to enable USB debugging from recovery with root access :
Connect the device to Mac or PC in recovery mode. (I had to map the process in my mind as the screen was broken).
Now open terminal/CMD in computer and go to platform-tools/. type and enter ./adb devices to check if the device is connected in recovery mode.
To mount the respective directories, type:
Code:
./adb shell mount data
./adb shell mount system
Get the persist.sys.usb.config file in your system using:
Code:
./adb pull /data/property/persist.sys.usb.config /Your directory
Now open that file in a texteditor and edit it to mtp,adb and save.
Now push the file back in the device:
Code:
./adb push /your-directory/persist.sys.usb.config /data/property
Get the build.prop file:
Code:
./adb pull /system/build.prop /your-directory
Add these lines:
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
Push build.prop back into the device:
Code:
./adb push /your-dir/build.prop /system/
This way you enabled USB debugging on your device. But you still can't connect. Why? Because it asks for RSA verification. If you could view your display then you could easily tap on YES to authorize the device.
3. Skipping RSA verification :
The ADB keys (after authorization) are saved in /data/misc/adb/adb_keys, so I have one Samsung Galaxy S3 with working display which already authorized my PC.
So I got the adb_keys file from it. I connected the Samsung Galaxy S3 to my PC and use :
Code:
./adb pull /data/misc/adb/adb_keys
Then reconnected the Note 4 and pushed the file in it:
Code:
./adb push /your-dir/adb_keys /data/misc/adb/adb_keys
4. Reboot! And Voila: the devices boots normally and adb connects without asking for verification.
After that I used Vysor chrome extension and Vysor apk to view the device screen and act with the device.
I installed the apk with :
Code:
./adb install apk_name.apk
Sources :
https://forum.xda-developers.com/showthread.php?t=2395047
https://android.stackexchange.com/questions/120394/can-i-enable-usb-debugging-using-adb
https://www.vysor.io/
It works! With the first method.
I have Samsung Galaxy s5, lineage os 14.1,
After my screen broke, I couldn't see my device through adb devices, no matter what driver I have installed - and believe me I've tried all the methods.
Then I've installed CWM recovery, adb recognized it in devices but I wasn't able to pull sdcard with adb pull command in Windows 7. I got access denied.
Then I saw this post and I got access to sdcard!
Works on OnePlus One with Lineage 14.1
Works like a charm on my OnePlus One with lineage 14.1
Just want to mention that if you have problems mounting /data and/or /system
I got help from this post: https://forum.xda-developers.com/galaxy-s2/help/mount-adb-t1107545
Basically, the dirty solution I found with help from kaukassus post was:
1.
Code:
adb mount
- to view name of available mounts and identify /system and /data
2.
Code:
adb shell mount -o rw,remount -t yaffs2 /dev/block/[U]mmcblk0p28[/U]
underlined is the part that is different
- to mount the data folder. Do the same for system. Then I just followed the steps from this tutorial.
The part with the RSA verification I resolved with a little help from https://gist.github.com/varhub/7b9555cdd1e5ad785ffde2300fcfd0bd
Enable ADB (2/2): RSA verification
For the RSA verification that you asked to bypass, I don't know whether it would work in your device, but it worked in my little experiment. In Lollipop, the ADB keys (after authorization) are saved in /data/misc/adb/adb_keys. Your private key is saved in computer. In Linux the directory location is $HOME/.android/. On Windows that usually translates to %USERPROFILE%.android, but keys might end up in C:\Windows\System32\config\systemprofile.android in some cases.
adb push ~/.android/adbkey.pub /data/misc/adb/adb_keys
Click to expand...
Click to collapse
Thanks for post
Worked top to bottom, on my Galaxy S5 6.0.1 (ALEXNDR ROM)!
Used step .2, .3 and oledolez tips aswell.
Got the screen cracked and black, went crazy because I had the SD card encrypted and couldn't get the stuff outta there...
Thanks a lot!
Hugo
GS5 CWM Stock ROM
Hello ! I broke my gs5(sm-g900f)'s screen and now it is constantly black. I tried everything on the thread and my device is always shown as unauthorized in vysor or when checking in ADB with /adb devices. This means I have succeeded to enable USB Debugging through ADB, however I must be having problems with the RSA key. Any help would be appreciated!!
Thanks in advance !
Dan
P.S The phone was completely stock when I broke it and I blindly installed cwm-6.0.4.7 and CF-auto-root with odin, so maybe there is a problem with that ?
what if the partition is encrypted? How I would enter the boot password with a broken screen?
xaviermchot said:
what if the partition is encrypted? How I would enter the boot password with a broken screen?
Click to expand...
Click to collapse
I had the same problem and fixed it in TWRP doing this command:
Note: Use this command only if your /data/ partition has the ext4 file system. There are some other similar commands for other file systems, but i don't remember they.
Code:
adb shell make_ext4fs /dev/block/[B]mmcblk0p20[/B]
(Bold part can change depending of your device)
Then just do a normal wipe and flash again the ROM.
MiroBiala said:
Here is how I succeeded to enable USB debugging (also adb and remote view) on Samsung Galaxy Note 4 with broken screen.
1. Following the DeathDrifterz's advice I was able to set the device in recovery mode with ROOT access and adb :
2. In other forum I found tutorial how to enable USB debugging from recovery with root access :
Connect the device to Mac or PC in recovery mode. (I had to map the process in my mind as the screen was broken).
Now open terminal/CMD in computer and go to platform-tools/. type and enter ./adb devices to check if the device is connected in recovery mode.
To mount the respective directories, type:
Code:
./adb shell mount data
./adb shell mount system
Get the persist.sys.usb.config file in your system using:
Code:
./adb pull /data/property/persist.sys.usb.config /Your directory
Now open that file in a texteditor and edit it to mtp,adb and save.
Now push the file back in the device:
Code:
./adb push /your-directory/persist.sys.usb.config /data/property
Get the build.prop file:
Code:
./adb pull /system/build.prop /your-directory
Add these lines:
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
Push build.prop back into the device:
Code:
./adb push /your-dir/build.prop /system/
This way you enabled USB debugging on your device. But you still can't connect. Why? Because it asks for RSA verification. If you could view your display then you could easily tap on YES to authorize the device.
3. Skipping RSA verification :
The ADB keys (after authorization) are saved in /data/misc/adb/adb_keys, so I have one Samsung Galaxy S3 with working display which already authorized my PC.
So I got the adb_keys file from it. I connected the Samsung Galaxy S3 to my PC and use :
Code:
./adb pull /data/misc/adb/adb_keys
Then reconnected the Note 4 and pushed the file in it:
Code:
./adb push /your-dir/adb_keys /data/misc/adb/adb_keys
4. Reboot! And Voila: the devices boots normally and adb connects without asking for verification.
After that I used Vysor chrome extension and Vysor apk to view the device screen and act with the device.
I installed the apk with :
Code:
./adb install apk_name.apk
Sources :
https://forum.xda-developers.com/showthread.php?t=2395047
https://android.stackexchange.com/questions/120394/can-i-enable-usb-debugging-using-adb
https://www.vysor.io/
Click to expand...
Click to collapse
Dear experts,
I've been trying to follow the above steps but cannot get data and system mounted:
PS C:\Users\Azubi\AppData\Local\Android\Sdk\platform-tools> adb devices
List of devices attached
52001077b43913d3 recovery
PS C:\Users\Azubi\AppData\Local\Android\Sdk\platform-tools> adb shell mount data
mount: mounting /dev/block/mmcblk0p21 on /data failed: Device or resource busy"
I'm trying to access a Galaxy S5 mini with broken screen and digitizer. It's rooted and runs with TWRP and Lineage OS.
The aim is to enable usb debugging in order to mirror the screen on pc.
Has anyone been encountering this already and could help?
Many thanks
Max

[SOLVED] ADB 'unauthorized', no RSA prompt, and no 'Revoke USB debugging' option

After fighting with this for nearly a month and reading dozens of threads on xda, stack-overflow, etc... I finally figured out this issue, so I'm putting it here in hopes it saves someone else the frustration.
The issue presented itself on my HTC One (M8) running the ViperOne 6.1.0 ROM.
I'm putting this thread in the general section though since I've seen many people with very similar, if not the same issues on a wide variety of devices.
I believe the root cause of my particular issue may be the way HTC sets their devices to simply allow all debugging without authorization if the phones are s-off.
Mine is still s-on, but I have another M8 that's s-off with the exact same ROM as well as an s-off M9, and both of them go straight into debugging, no questions asked, no prompt.
I'm wondering if maybe the ROM was developed using a developer version of the phone and is just missing the prompt, or something similar, but this is just conjecture.
The basic problem was that, when I tried to connect ADB, it showed the phone as "unauthorized" and no matter what I did, the prompt would not come up on the phone to allow debugging.
Also of note, I was missing the "Revoke USB debugging authorizations" menu item entirely (I could search for it, but it wasn't actually there in the menu)
I tried many different combinations of changing drivers, USB modes, enabling/disabling debugging, different machines, deleting the public and private keys for ADB on the computer, etc... all to no avail.
Finally, after much research and testing, I found this comment on stack-overflow and figured out how to manually authorize keys.
Note: This will require root, a custom recovery, or some way of writing the the system partition (I used TWRP at first, then TerminalEmulator later)
The key was to understand what clicking the dialog to 'always allow' a machine actually does.
When you click to always allow, android appends the public key from ADB on the computer into a specific file on the phone.
Since my phone wouldn't connect in the first place though, I didn't have that file or understand the format, etc...
The file is called adb_keys, it is a file (not folder) which is located at: /data/misc/adb/
The format of this file is one public key per line.
Thus, there are a couple of ways to go about manually authorizing a machine for debugging.
First, manually building the adb_keys file. (This is what I did at first)
Second, copying an existing adb_keys file from another device (Which doesn't need root)
For manually building the adb_keys file, the first step is to find the public key on the computer.
For me (Windows 10) it was located at C:\Users\<my profile>\.android\adbkey.pub
For Linux and OSX, I believe it is at: ~/.android/adbkey.pub
If you only need to authorize one computer:
Simply copy the adbkey.pub onto the device location: /data/misc/adb/ and rename it from adbkey.pub to adb_keys
chmod 0644 and then reboot.
Now, the phone should accept debugging from the computer just as though you clicked the dialog.
If you need to authorize several computers...
As mentioned, the /data/misc/adb/adb_keys file is actually a list of all the keys which have debugging permissions, one key per line.
First, collect the adbkey.pub files from each computer you want to authorize.
Then, using a text editor which supports linux style line breaks (Notepad++ if on windows) simply create your own adb_keys file by appending the contents of each adbkey.pub file, putting a line break between each key
Now save the adb_keys file you just created, and put it on the phone's /data/misc/adb/ folder using whatever method you prefer, and chmod 0644
If you need to revoke debugging permissions, (like the menu option, if the menu option is missing)
Simply delete /data/misc/adb/adb_keys
And finally,
If you have access to another device (does not have to be rooted) and want to replicate its debugging permissions
Plug the 'donor' device into the computer first, then issue:
adb pull /data/misc/adb/adb_keys c:\temp\adb_keys
(Or replace "C:\temp\adb_keys" with whatever file path works for you)
Then, copy the file to the 'target' device in the same location (/data/misc/adb/adb_keys) and chmod 0644
I've tested all of these methods and they worked well.
In the end, I used the last method since my tablet had all the debugging permissions I wanted on my phone.
Thanks,I have the same issue with the same rom. I tried your solution and it worked.
Hi, I ran into this issue with my Moto G5 plus. The only difference is that I'm not missing the Revoke Auth option, even though using it does nothing for me, and I still fail to get the Authorization popup when connecting via USB/using ADB.
I tried the above method of copying the adbkey.pub file to my device directory, renaming, etc. I am doing something wrong and would like a hint.
I copied the adb_keys via Windows Explorer to my devices root directory. There was a /data/ directory, but only Titanium Backup had a subdirectory within, so I created .../misc/adb/, and placed the adb_keys file there.
I rebooted to the TWRP recovery Terminal, and navigated to the /data/misc/adb directory. I ran chmod, and the system could not find the file specified. Listing directory contents also showed the directory to be empty (yet when viewed in Explorer or LineageOS, it's visible).
Did I place the keys file in the wrong place?
Copying via windows explorer does not place it in the device root.
Inception
I was trying to Copy one donor device's Adb key file to my broken android phone to mirror it on my PC, Following the guide of another post, and somehow i stumbled across this post, after failing to copy from Donor device. Now i managed to copy the adb_key from Donor device but LOL my broken Android device is Unauthorized. What should i do? IS THERE ANY SOLUTION?
misuvi said:
I was trying to Copy one donor device's Adb key file to my broken android phone to mirror it on my PC, Following the guide of another post, and somehow i stumbled across this post, after failing to copy from Donor device. Now i managed to copy the adb_key from Donor device but LOL my broken Android device is Unauthorized. What should i do? IS THERE ANY SOLUTION?
Click to expand...
Click to collapse
Do you have any way of writing to the /data/misc/adb/adb_keys file on the broken device?
I think i just did!
NFSP G35 said:
Do you have any way of writing to the /data/misc/adb/adb_keys file on the broken device?
Click to expand...
Click to collapse
I rebooted into recovery mode, copied, but still the mirroring application is not working, still prompting for allowing USB debugging. Now i connected the donor device on That mirroring application and Saved the RSA of Mirroring application, and going once again. Wish me good luck
misuvi said:
I rebooted into recovery mode, copied, but still the mirroring application is not working, still prompting for allowing USB debugging. Now i connected the donor device on That mirroring application and Saved the RSA of Mirroring application, and going once again. Wish me good luck
Click to expand...
Click to collapse
Well, don't forget to post back if it worked :good:
Guess I did i good job
NFSP G35 said:
Well, don't forget to post back if it worked :good:
Click to expand...
Click to collapse
Well it didn't work since the Adb server of Cmd and mirroring application were different, so i searched for another application which has same server as Cmd, and luckily i found a great software by Genymobile, named scrcpy, from github, just one click on scrcpy-noconsole and boom? Thanks for all the help.
misuvi said:
Well it didn't work since the Adb server of Cmd and mirroring application were different, so i searched for another application which has same server as Cmd, and luckily i found a great software by Genymobile, named scrcpy, from github, just one click on scrcpy-noconsole and boom Thanks for all the help.
Click to expand...
Click to collapse
Cool, glad to help.
For a while, I looked for ways to get around this from a different angle (for example, making the keys match on the ADB server side) but I ran into some issues and ended up getting what I needed via the steps in the OP.
Glad you got it working though!
"And finally,"...you should have led with that
I cannot thank you enough! Other proposed solutions to this hellish problem made my head hurt. This was beautifully simple - copy file from the working device onto non-working, change permissions and BOOM! It works.
Thanks again, you're awesome!
Happy to help!
Oh my god, it's not a folder! Thank you so much! I was about to give up, this was driving me totally crazy. Everywhere on the internet they just keep repeating the same advice that did nothing, I actually created that as a folder and no wonder it wasn't working.
I still can't believe it's working now, ahhh...
can't believe in my eyes. work perfect for me. thanks you so much!!
I am trying to use the 'copy keys file from another device' method.
I've copied the adb_keys file to my PC.
Now, how do I copy that file from the PC to the data folder?
adb won't allow it as it's not authorised, what am I missing?
Thank you in advance for your help!
Bungle2000 said:
I am trying to use the 'copy keys file from another device' method.
I've copied the adb_keys file to my PC.
Now, how do I copy that file from the PC to the data folder?
adb won't allow it as it's not authorised, what am I missing?
Thank you in advance for your help!
Click to expand...
Click to collapse
You can't copy to the device through ADB until you get ADB authorized... that's the whole point... you have to use some other method to get the file there.
I used TWRP custom recovery to copy the file from an external SD card the folder.
If you don't have an external SD card, use USB MTP/PTP, Mass Storage, a USB OTG adapter and thumb drive... if you desperate, zip the file and email it to yourself... pretty much endless methods of actually getting the file onto the phone somehow.
But you'll need root (or a custom recovery) to copy the file from wherever it is on the device to the correct location (/data/misc/adb/adb_keys)
You could potentially use several methods, for example you could use terminal emulator or a root file explorer to get the file to the correct folder.
NFSP G35 said:
You can't copy to the device through ADB until you get ADB authorized... that's the whole point... you have to use some other method to get the file there.
I used TWRP custom recovery to copy the file from an external SD card the folder.
If you don't have an external SD card, use USB MTP/PTP, Mass Storage, a USB OTG adapter and thumb drive... if you desperate, zip the file and email it to yourself... pretty much endless methods of actually getting the file onto the phone somehow.
But you'll need root (or a custom recovery) to copy the file from wherever it is on the device to the correct location (/data/misc/adb/adb_keys)
You could potentially use several methods, for example you could use terminal emulator or a root file explorer to get the file to the correct folder.
Click to expand...
Click to collapse
Hey NFSP G35, thank you for the reply!
I figured there was something I was missing, I just don't know the steps to do it right.
I have a Moto X Play that has a broken screen, so no display, and does not accept touch input.
It powers on and is working as it was before the screen broke as far as I can tell, so I'm trying to connect it up to the PC to get all the data off it.
However, before it broke, something happened with the software that meant Google Play disappeared.
The device is stock Motorola device, so not rooted, no TWRP etc. USB debugging is enabled but not authorised.
What would you recommend is the best way to get the adb_keys onto the phone given the issues above?
Your help is greatly appreciated!
Sorry, given your circumstances, it's likely impossible or very difficult
?? Thanks, it worked perfectly on Samsung J6 run Evolution X 4.0
Thank you it's working

Disassembling MBN Files

I am working on trying to root my Alcatel A50 (nice little phone I picked up on the cheap). In order to install SuperSU to get root access, I need to install a bootloader. By the looks of it, I should be able to make a working bootloader if I have the boot.img file. In order to extract boot.img from the phone, I need root access... a bit of a catch22...
I have so far managed to unlock the bootloader and download an official MBN file via the official Alcatel Windows updater. If I can figure out how to extract boot.img from this MBN file, then I may be able to get around the above3 catch 22.
From this MBN file (3.4 GB in size), I have managed to extract a bunch of apps (see my journal in the hidden section below for details of how I did that). However, part way through the extractor chokes and quits. Based on the size differential of what I am able to extract vs the overall size of the MBN file, I am sure that there is more lurking inside of this file beyond what was extracted - such as the desired boot.img.
What I have gleaned so far in my reading suggests that these MBN files are, in fact, a sort of executable binary file. To that end, I am wondering if anybody has had any luck disassembling these files/fully extracting their contents.
In case it helps (either for my query or some future endeavor in a related vein), here is what I have documented of my quest thus far (follow the directions/links/downloads at your own risk):
https://web.archive.org/web/2017070...bile.com:80/global-en/support/smartsuite/list
Enable OEM Unlock: http://techbeasts.com/how-to-enable-oem-unlock-on-android-nougat/
Install ADB and Fastboot. Go here: https://developer.android.com/studio/releases/platform-tools scroll down to the Downloads section and click on “SDK Platform-Tools for Windows” - it should be a 4-5 MB download. Unzip the files and navigate to the folder via CMD.exe.
As Alcatel seems to have merged with another company, it would appear that links to useful software, drivers etc have all been broken in the midst of their overhaul. I must say I was unimpressed with the limited information/downloads available from their present sites (even checking many of their international sites). At any rate, I managed to find a link to the Alcatel Smart Suite (https://web.archive.org/web/2017070...bile.com:80/global-en/support/smartsuite/list) via Archive.org. I simply selected the newest one and – behold – it downloaded.
Download Smart Suite → Install and load application. Plug in phone to install Alcatel ADB Driver. Reboot Windows
I did run into an issue when running “adb devices” after launching the Smart Suite where it was saying:
adb server version (31) doesn't match this client (40); killing...
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon
I found someone else had a similar issue (https://stackoverflow.com/questions...rsion-31-doesnt-match-this-client-36#38447003). As per the link, I closed Smart Suite and ran the following terminal commands:
adb kill-server
adb start-server
And that seemed to resolve the issue.
You will want to reboot the phone into fastboot mode with this command:
adb reboot bootloader
And verify that you have connectivity by running:
fastboot devices
Then type in this command:
fastboot oem unlock
Your phone will display some text prompting you to unlock the bootloader. Mine says:
Unlock bootloader?
If you unlock the bootloader, you will be able to install custom operating system software on this phone.
A custom OS is not subject to the same testing as the original OS, and can cause your phone and installed applications to stop working properly.
To prevent unauthorized access to your personal data, unlocking the bootloader will also delete all personal data from our phone (a “factory data reset”).
Press the UP/Down buttons to select Yes or No.
Yes: (Volume Up): Unlock (may void warranty)
No: (Volume Down): Do not unlock bootloader.
To continue, Press the Volume Up button on the phone.
Another site suggested I also run: fastboot flashing unlock. I am not sure if that is necessary, but I ran it for good measure. The procedure is the same as above.
Once it finishes, press and hold the power button to power the phone off. Then power it back up. Once it is finished erasing, set up the phone again, enable developer mode and USB debugging.
Next, we will need to obtain root access. To do this, we will install SUPERSU. Unfortunately, at the time of this writing, the official website only gives us XML files when trying to download the files. I did track down an unofficial mirror, though am not 100% sure of its veracity. Download the latest version (the zip file) and use ADB to push it to the phone (adb push filename.zip /sdcard/) and then use the onboard file manager to move it to your external SD card. Then reboot into recovery mode (adb reboot recovery).
Getting Original Firmware
http://www.alcatel-mobile.com/cari/support/softwareUpgrade/list
Download Mobile_Upgrade_S_Gotu2_v5.2.1_Setup.exe
• Install
• Shutdown Phone
• Load software & select 5085O
• Plug in Phone to initiate the downloaded
• (?Unplug phone) and wait for download to complete
• Go into C:\Mobile Upgrade S Gotu2 v5.2.1\download and grab the big file.
Extract Zip → Get MBM File
Either using CYGWIN or running it on Linux directly, execute the following perl script (as per this thread discussion - https://forum.xda-developers.com/an...p-4s-help-rooting-installing-t3514186/page9):
cat system.mbn | perl -pe 's/(\xFF{5}\x00{4}\xFF{54})[^\xFF]{10}(\xFF{16})/\1\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\2
/g' | perl -pe 's/(\xFF{32})\xA8\xCF\x56\xCF\xFA\x43\x09\x9F\x79(\xFF{32})/\1\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\2/g' > system.img
On Linux, install simg2img. Use this utility to convert the system.img to system.img.raw (cannot recall where I saw this tidbit)
Mount system.img.raw (mount system.img.raw /mnt/tmp)
sudo cp -R * /home/Downloads/temp/

ADB and Fastboot issue on Galaxy Tab S7

I am having trouble using the adb pull to root a brand new Samsung Galaxy Tab S7 with Android 11 using Magisk. I did the date change to get the OEM unlock available. I was then able to unlock the bootloader and turned on the USB debugging and get the message every time it starts that the bootloader is unlocked. I downloaded the Magisk from github.com v23.0. Then copied the AP TAR file for my stock firmware to do the patch in Magisk. I have a file in my download folder named “magisk_patched-23000_H5VRc.tar”. I am using the “adb pull /sdcard/download/magisk_patched_[random_strings].tar” but keep getting things like:
1) adb: error: failed to stat remote object '/sdcard/download/magisk_patched_[random_strings].tar': No such file or directory
2) adb: error: failed to get feature set: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
Any ideas what I am doing wrong? I would be open to any sugestions.
Code:
adb pull
is used to copy files / directory from your phone to your computer
Synthax:
Code:
adb pull <device file location> <local file location>
To copy files / directory from computer to phone you have to use
Code:
adb push
why adb? just copy it by using windows file manager.
Ok so in the internal storage of my tab is a file called “download” in that file is something named “magisk_patched-23000_H5VRc.tar”.
So I guess my question is if I use “adb pull /sdcard/download/magisk_patched_[random_strings].tar” will the computer go to the internal storage on the tab in the download folder and get the “magisk_patched-23000_H5VRc.tar” file?
Or should I use “adb pull /internal storage/download/ magisk_patched-23000_H5VRc.tar”? If so do I need to use underscore between internal and storage?
Android's file / directoy names are case sensitive.
Knowing this the directory name in question is /sdcard/Download.
CXZa said:
why adb? just copy it by using windows file manager.
Click to expand...
Click to collapse
According to the instalation guide it could corrupt large files
Take note that also ADB's pull command is size-limited.
It might therefore be advantageous to first unpack the TAR file on the phone, and then transfer the desired files to the computer with adb pull
wolfyj1 said:
According to the instalation guide it could corrupt large files
Click to expand...
Click to collapse
Hardly. If in doubt check the tar with 7zip or whatever. Or compare file hashes...
jwoegerbauer said:
Android's file / directoy names are case sensitive.
Knowing this the directory name in question is /sdcard/Download.
Click to expand...
Click to collapse
I was hoping that it was as simple as the capitalization of Download. Here is the message now.
C:\Program Files (x86)\Minimal ADB and Fastboot>adb pull /sdcard/Download/magisk_patched_[random_strings].tar
adb: error: failed to stat remote object '/sdcard/Download/magisk_patched_[random_strings].tar': No such file or directory
Is it possible that my adb and fastboot program is not working correctly? I was hoping that there would be a simple fix for this. Guess not.
/sdcard is a sym-link, try to use /storage/emulated/0 as file's actual path.
fastboot flash boot magisk_patched.img is the most common way.Be sure to use real ADB tools from Google.
I'm pretty sure that Samsung devices don't support fastboot mode. I've owned lots of them and fastboot has never been available. Instead we have download mode, which must be interfaced with via Odin or Heimdall, etc.
Of course, ADB should work, and is universally available on all Android devices.
AnonVendetta said:
I'm pretty sure that Samsung devices don't support fastboot mode. I've owned lots of them and fastboot has never been available. Instead we have download mode, which must be interfaced with via Odin or Heimdall, etc.
Of course, ADB should work, and is universally available on all Android devices.
Click to expand...
Click to collapse
Anon you are so correct. I've spent so many years flashing Pixels I forgot I was discussing a Sammy Tablet. Thank you.
Jonathanpeyton said:
Anon you are so correct. I've spent so many years flashing Pixels I forgot I was discussing a Sammy Tablet. Thank you.
Click to expand...
Click to collapse
I've only ever used fastboot once, it was on an HTC phone. I was just unlocking the bootloader and installing TWRP for a friend.
Never owned a Pixel/Nexus, I'm put off by them because they don't have MicroSD slots. But if they want to give us 1TB+ internal storage, I may reconsider. On the other hand, they do have lots of custom ROMs, lots of developers, and alot of users. So on that front, they have a ton of advantages if you're an Android enthusiast looking to get the most mileage out of your device for the longest time possible.
Samsung devices are what I prefer, but I'm open to trying new things. Almost all of my phones have been Samsung, with the exception of an LG v10, ZTE Axon 7, and a Huawei Honor. After using all those for quite awhile, I went back to what I know best.
I did run into device not authorized error today when I was trying to mod my S7.
Turns out that although I enabled USB debugging beforehand the tab wasn't able to ask for permission.
I had to disable and enable USB debugging again, revoke previous authorization, reconnect and wait for the popup to show up.

Categories

Resources