Android contacts are stored in the /data/data/com.android.providers.contacts/databases/ directory in the contacts.db file or on some contacts2.db firmware.
This file is a sqlite database and can be read using the appropriate software.
Now, how did I get the contacts from the phone that the sensor refused. Contacts have never been exported, the USB debugging function has been disabled, and using the methodin a way
, 7zip could not unpack .backup made by standard recovery, but adb for some reason did not see the required files in the folder
Find onsavagemessiahzine.comClockworkMod recovery (CWM) installation informationClockworkMod FAQ
recovery for your device and download the required files.
For this we usually need:
1. drivers for connecting the device to the computer
2. recovery.img - CWM image
3. fastboot or FlashTool - will be required to flash the CWM image in the device, choose a more understandable one for you
4. I need an archiver to unpack the backup file (I used 7zip)
5. and some program for working with databases (I usedsqlitestudio
now move on to the actions of pulling out the necessary information:
1. IвЂ™ll not write much about downloading and installing drivers, images and programs. Most of them should be described in the instructions for your device onsavagemessiahzine.comand done almost everywhere the same
2. Installing CWM try to enter it (usually for this you need to hold down the power button and increase / decrease the volume)
3. there we select the item for creating backups 'buckup and restore' and make it to the 'Buckup' flash drive :)
4. Download the data.ext4.tar file from the flash drive to the computer, it should be in the clockworkmod / backup folder (the name will also appear in the name of its creation)
If there is no possibility to insert a flash drive into your device, perhaps this will help:
after installing CWM I managed to connect viaadb
, and theoretically probably you can copy backup files to a computer.
the teams you needadb devices
- connectionadb shell
- launch remote command linels
- getting a list of folders and filescd<path to android>
- go to folderadb pull<path to android><PC path>
- copy the file from the device to the computer
5. open the archive and extract contacts.db or contacts2.db from /data/data/com.android.providers.contacts/databases/
6. run the program sqlitestudio, select the database file, which we got from the archive, in the dialog box to open the database ('Database' ->'Add Database')
7. Further we insert a similar query into the SQL query tab ('Service' ->'Open SQL Query Editor')
SELECT normalized_number, display_name
FROM phone_lookup, raw_contacts
WHERE phone_lookup.raw_contact_id = raw_contacts.contact_id
I will explain the meaning of the current request
create a table with columns normalized_number, display_name based on phone_lookup tables, raw_contacts
provided that the data from the phone_lookup table and the raw_contact_id column = the data from the raw_contacts table the contact_id column
from this code, I can assume that:
There are some tables in which there are columns, in each of which similar data is stored, in our case these are line numbers, name and phone numberphone_lookup raw_contact_id | normalized_number
2 |+79002222222raw_contacts contact_id | display_name
1 | Vasya
2 | Petya
those. we use our query to get a new label, the lines of which are formed from the two original lines by combining them
where data is raw in one line where raw_contact_id = contact_idnormalized_number | display_name
+79001111111 | Vasya
+79002222222 | Petya
A lot of requests, because data is duplicated in almost every table, you can retrieve the name and phone from different tables and columns, looking at all the signs and finding the necessary data.
Based on this request, you can make your
SELECT 'columns separated by commas' FROM 'tables separated by commas' WHERE 'condition'
вЂњcolumns separated by commasвЂќ can be written in this form [table]. [column] square brackets can be omitted, but they can be saved from errors if the names of tables / columns suddenly have names of reserved commands. Here we specify a comma, what data we want to see in the new table
"tables separated by commas" can be written in the following form [table]. Here we specify the data from which tables we want to get.
'Condition' can be written in this form [TABLE1]. [Column1] = [table2]. [Column2], or the conditions may be several and they are written through logical operators and and or, and also may be grouped by using parentheses. Conditions need to integrate data from multiple tables, and they can be used to set filters. For example, if we add to the end of our query string of single quotes 'AND display_name = "Sasha"', then in our table might not have all of our contacts from the sheet, and only that phone numbers of people called "Sasha".
I also found deleted numbers in this database for a long time, maybe it will be interesting to someone.
in the same way you can get SMS from the file /data/data/com.android.providers.telephony/databases/mmssms.db
in the file data.ext4.tar are all user files that you may need to pick up from the devicePost has been editedGridzilla - 30.09.14, 12:17
Reason for editing: editing at the request of the author