Data Recovery from your broken Android phone

Overview

Broken Phone Recovery

a guide how to backup data from your locked android phone if you broke your screen (and more)

you can skip some steps depending on your situation

You need:

  • usb otg adapter for your phone
  • usb keyboard
  • raspberry pi zero
  • a second device to run adb and backup data
  • a bluetooth input device (like a joystick controller) or some app to remote control your phone(e.g teamviewer)

0. Preparation:

1. Unlock:

A) Password Lock:

  • connect keyboard via otg.
  • press ENTER, then SPACE.
  • type in your password and hit enter.
  • if your password contains y/z and it does not work, your keyboard layout could be different, try switching y/z in your password.
  • wait for the click sound to verify its unlocked.

B) Pattern lock:

  • open unlock.py in your favorite editor.
  • if your pattern does not start in the top left corner, add move_right(), move_left(), move_up() or move_down() after line 118, to navigate to your starting point.
  • if your pattern is not the small v, edit the lines after 141 to implement your pattern. Look at the examples in the script.
  • make sure to copy the modified unlock.py to the pi.
  • connect the raspberry's otg port to your phone, if your sound does work and you hear the charging sound, remove the cable you connected to your phones otg adapter and reconnect, until you hear a different sound.
  • execute python3 unlock.py.
  • if you get IOError: [Errno 108] Cannot send after transport endpoint shutdown, then the raspberry is not connected properly via otg.
  • wait for the script to finish and hear the unlock sound, if your sound works.
  • if you are lucky and your phone automatically connects to your adb device, you can proceed with step 5.

2. Talkback

the easiest way to control your broken phone is Talkback. Once its enabled, you can use your keyboard to navigate and your phone will read out the screen content

  • if you are lucky and your volume buttons still work, you can enable talkback by holding down vol+ and vol- for 3 seconds.
  • keep in mind that to unlock your phone with unlock.py, you need to disable talkback again.
  • if your volume buttons dont work or the shortcut is disabled, you can use talkback.py
  • run python talkback.py and it will ask you if you want to use google assistant to open settings
  • if you type y, say open settings in your phone language, once the script asks you to do
  • using google assistant is more reliable to open apps, but if you type n the script will try to open settings with the mouse
  • wait for the script to enable talkback

3. Prepare adb connection

if your phone does not automatically enables the adb connection, or you did not authenticate your device with your phone before, you need another input method to enable the connection, because you probably can not connect an usb keyboard and your adb device at the same time.

A) connect bluetooth controller:

if you have some bluetooth controller or keyboard, you can use it to control your phone while it should connect to your adb device.

  • if you are lucky you already connected the controller and only need to enable bluetooth if disabled.
  • otherwise you can use your keyboard and talkback to open settings, enable bluetooth and connect the controller.
  • because initial connection is not always straightforward with cheap controllers, you can also use the play store or your favorite app store to install Screen Stream
  • if you are lucky and your phone is connected with your google account, you can login to the playstore on your browser and install the app on your phone without any interaction
  • launch the app and navigate with talkback to enable screen sharing. Use TAB to select the button after 'exit' which is probably unnamed, press ENTER, TAB, TAB, ENTER to enable the sharing. Then you can watch your screen on http://phone_ip:8080.
  • next steps will be more comfortable, because you do not need talkback anymore
  • finally connect your bluetooth controller/keyboard

B) connect remote control app:

if you dont have a bluetooth device, you need to setup a remote control app like teamviewer

  • install teamviewer host on your phone with talkback, your keyboard and your favorite play store
  • if you are lucky and your phone is connected with your google account, you can login to the playstore on your browser and install the app on your phone without any interaction
  • install teamviewer on your second device and connect your phone

4. Connect adb

  • connect your phone to your adb device
  • use your bluetooth controller or remote control app to enable developer settings and MTP
  • authenticate your device

5. Backup your data

  • use other tutorials to backup your app data
  • some apps like banking or OTP apps set android:allowBackup=False, then you can only backup app data if your boot loader is unlocked
  • install scrcpy to open OTP apps like Aegis and copy your backup code. Most of them disable screen sharing with teamviewer or Screen Stream, but scrcpy works anyway.

6. Contribution

  • feel free to create an issue if something does not work, or you have a use case that is not covered in this tutorial
  • also any other contributions are welcome

todo:

  • update unlock.py so user can pass pattern string and doesnt need to edit the script
  • add script to start screen sharing
  • look for foss screen sharing and remote controlling apps
Owner
v1nc
v1nc
Everything I needed to understand what was going on with "Spring4Shell" - translated source materials, exploit, links to demo apps, and more.

springcore-0day-en These are all my notes from the alleged confirmed! 0day dropped on 2022-03-29. This vulnerability is commonly referred to as "Sprin

Chris Partridge 105 Nov 26, 2022
Tool for finding PHP source code vulnerabilities.

vulnz Tool for finding php source code vulnerabilities. Scans PHP source code and prints out potentially dangerous lines. This tool is useful for secu

Mateo Hanžek 1 Jan 14, 2022
OLOP: One-Line & Obfuscated Python

OLOP: One-Line & Obfuscated Python This repository contains useful python modules for one-line and obfuscated python. pip install olop-ShadowLugia650

1 Jan 09, 2022
An OSINT tool that searches for devices directly connected to the internet (IoT) with a user specified query. It returns results for Webcams, Traffic lights, Refridgerators, Smart TVs etc.

An OSINT tool that searches for devices directly connected to the internet (IoT) with a user specified query. It returns results for Webcams, Traffic

Richard Mwewa 48 Nov 20, 2022
SpiderFoot automates OSINT collection so that you can focus on analysis.

SpiderFoot is an open source intelligence (OSINT) automation tool. It integrates with just about every data source available and utilises a range of m

Steve Micallef 9k Jan 08, 2023
Security system to prevent Shoulder Surfing Attacks

Surf_Sec Security system to prevent Shoulder Surfing Attacks. REQUIREMENTS: Python 3.6+ XAMPP INSTALLED METHOD TO CONFIGURE PROJECT: Clone the repo to

Aman Anand 1 Jan 27, 2022
This repo is about steps to create a effective custom wordlist in a few clicks/

Custom Wordlist This repo is about steps to take in order to create a effective custom wordlist in a few clicks. this comes handing in pentesting enga

2 Oct 08, 2022
A token logger for discord + steals Brave/Chrome passwords and usernames

Backdoor Machine - ❗ For educational purposes only ❗ A program made in python for stealing passwords and usernames from Google Chrome/Brave and tokenl

36 Jul 18, 2021
Internationalized Domain Names for Python (IDNA 2008 and UTS #46)

Internationalized Domain Names in Applications (IDNA) Support for the Internationalised Domain Names in Applications (IDNA) protocol as specified in R

Kim Davies 204 Dec 13, 2022
AIL LeakFeeder: A Module for AIL Framework that automate the process to feed leaked files automatically to AIL

AIL LeakFeeder: A Module for AIL Framework that automates the process to feed leaked files automatically to AIL, So basically this feeder will help you ingest AIL with your leaked files automatically

ail project 8 May 03, 2022
Signatures and IoCs from public Volexity blog posts.

threat-intel This repository contains IoCs related to Volexity public threat intelligence blog posts. They are organised by year, and within each year

Volexity 130 Dec 29, 2022
A terminal based web shell controller

shell-hack Tribute to Chinese ant sword; A Powerful terminal based webshell controller; Usage : Usage : python3 shell-hack.py --url [URL] --w

s1mple 10 Dec 28, 2021
NIVOS is a hacking tool that allows you to scan deeply , crack wifi, see people on your network

NIVOS is a hacking tool that allows you to scan deeply , crack wifi, see people on your network. It applies to all linux operating systems. And it is improving every day, new packages are added. Than

Error 263 Jan 01, 2023
How to exploit a double free vulnerability in 2021. 'Use-After-Free for Dummies'

This bug doesn’t exist on x86: Exploiting an ARM-only race condition How to exploit a double free and get a shell. "Use-After-Free for dummies" In thi

Stephen Tong 1.2k Dec 25, 2022
Virus-Builder - This tool will generate a virus that can only destroy Windows computer

Virus-Builder - This tool will generate a virus that can only destroy Windows computer. You can also configure to auto run in usb drive

Saad 16 Dec 30, 2022
一个自动挖掘漏洞的框架,日后会发展成强大的信息收集+漏洞挖掘脚本!

介绍 工具介绍 这是一款致力于将各类优秀脚本集合在一起调用、联动,最终可形成超级渗透脚本的工具。目的是扫描到更全的资产信息,发现更多的漏洞利用。但是这是通过牺牲扫描速度来提升扫描广度的。所以不太适合要进行紧急信息收集和漏洞利用的情况。

Thinking rookie 23 Jul 05, 2022
Steal Files on a Windows Machine

File-Stealer Steal Files on a Windows Machine About This Script will steal certain Files on a Windows Machine and sends them to a FTP Server. Preview

Marcel 5 Nov 17, 2022
Password-Manager - This app can generate ,save , find and delete passwords.

Password-Manager This app can generate ,save , find and delete passwords. In the StartUp() Function , there are three buttons to choose from : Generat

1 Jan 01, 2022
Automated tool to exploit basic buffer overflow remotely and locally & x32 and x64

Automated tool to exploit basic buffer overflow (remotely or locally) & (x32 or x64)

5 Oct 09, 2022