archive or zip file via adb - General Questions and Answers

Hello,
I tried searching for something similar but was unable to find anything.
I have a rooted Pixel 6 and would like to be able to archive (tar) and zip a directory via adb.
I have tried using the tar command via adb but it's not working as I expected.
I looked online and it seems that there is limited capabilities here for Android at least based on search results.
Are there any tools that can be installed for utilizing this via command line?
The bigger picture is I am trying to write a python script to automatically do this using pure-python-adb
Any tips are appreciated!

Never had problems when applying the TAR command.
Tar Command in Linux (Create and Extract Archives)
This article shows how to use the tar command to extract, list, and create tar archives.
linuxize.com

Related

[Q]How can I extra the system.img file

Can dev teach me ..
How can I extra the system.img file under windows 7 OS.
dickluo said:
Can dev teach me ..
How can I extra the system.img file under windows 7 OS.
Click to expand...
Click to collapse
You will need the android SDK and adb.
You can either do this through the terminal app on the phone or by using adb...
With adb:
From windows command line, and the phone connected via usb.
adb shell
su
cat /dev/block/system > /sdcard/system.img
If you use the terminal, you run the same commands as above, except the adb command.
To get the file on your hard drive, run this from the windows command prompt:
adb pull /sdcard/system.img .
Jim
Sent from my MB865 using xda premium
EDIT- lol, Jim and I had two different perspectives on your question . Are you asking how to create a system.img based off of your current /system, or are you asking how to extract an .img you already have and set up a working directory for ROM building?
Under Win7? Good luck with that. The system.img contains a filesystem that Windows doesn't natively support. You can use an app like Ext2Read to open and extract .img's, but if you do that all the symlinking will get messed up because Windows filesystems don't support symlinks. Also, Ext2Read might freeze or not fully extract the image just because of compatibility issues.
I highly recommend you use VirtualBox or set up a dual-boot with a Linux OS like Ubuntu. From there, you can install the ROM Kitchen which makes building ROMs a lot easier. It will let you set up a working directory based off of a system .img, and it detects all symlinks and adds them to the updater-script.
cogeary said:
EDIT- lol, Jim and I had two different perspectives on your question . Are you asking how to create a system.img based off of your current /system, or are you asking how to extract an .img you already have and set up a working directory for ROM building?
Under Win7? Good luck with that. The system.img contains a filesystem that Windows doesn't natively support. You can use an app like Ext2Read to open and extract .img's, but if you do that all the symlinking will get messed up because Windows filesystems don't support symlinks. Also, Ext2Read might freeze or not fully extract the image just because of compatibility issues.
I highly recommend you use VirtualBox or set up a dual-boot with a Linux OS like Ubuntu. From there, you can install the ROM Kitchen which makes building ROMs a lot easier. It will let you set up a working directory based off of a system .img, and it detects all symlinks and adds them to the updater-script.
Click to expand...
Click to collapse
Thanks cogeary .
I need the ext2read to explorer the *.img file and it can extra anyone file from *.img to my disk.
And can I use the *.apk from other *.img to create/use on my phone/system.
dickluo said:
Thanks cogeary .
I need the ext2read to explorer the *.img file and it can extra anyone file from *.img to my disk.
And can I use the *.apk from other *.img to create/use on my phone/system.
Click to expand...
Click to collapse
Sometimes. You can probably use apps like the alarm clock or browser that come from a different firmware, but don't try using framework files (like framework-res, systemui, etc) and important apps (like the dialer or phone) from different firmwares.

[Q] unpack userdata***.backup from cwm on windows

Hi/Hello/good evening!
I have a broken MTK phone waiting for spareparts and one backup file from its SDCard made with CWM
name userdata_20130615_140224.backup where I need to extract contact data from.
How to do it?
I have been searching a whole while now but could not find one single post about opening this archive.
Pls help!
Thank you,
Erwin
If u have any spare phone with Titanium Backup installed then u can transfer ur backup to tat mobile's sd card and use TB to extract data from Nanoid Backup..
Sent from my WT19i using xda premium
expanding file
hi,
unyaffs doesnt work on that .backup file and I dont have a spare phone lying around. I got the file on windows
and please after reading 20.000 tuts on "backups" can there be one that explains how to extract the file
with windows?
thank you,
Erwin
NOW!!!
ewoewo said:
hi,
unyaffs doesnt work on that .backup file and i dont have a spare phone lying around. I got the file on windows
and please after reading 20.000 tuts on "backups" can there be one that explains how to extract the file
with windows?
Thank you,
erwin
Click to expand...
Click to collapse
tell me the tec solution internet!
ewoewo said:
Hi/Hello/good evening!
I have a userdata#######.backup and I cant enter into recovery mode. once i try toenter recovery mode in boots and shuts down without entering into recovery mode. I want to restore this backup file. Help me out
Thank you!!
Click to expand...
Click to collapse
It's a 512 byte header in front of a "tar.gz"
hexdump -C userdata_xxxxxxxx_yyyyyy.backup | less​showed the magical zip header "1f8b0800 00000000" at offset 0x200
So, skipping 512 bytes, the rest can be gunzip | tar
dd if=userdata_xxxxxxxx_yyyyyy.backup bs=512 skip=1 | gunzip -c | tar xv​
Code:
dd if=/home/user/_backups/E380-android-phone/userdata_20160126_223433.backup bs=512 skip=1 > /home/user/_backups/E380-android-phone/userdata_20160126_223433.backup.dd-out.tar.gz
Worked for me. Then just used KDE's archive opener (Ark) to view the files, looks to have everything in there except keys and whatnot.
if you prefer a linux solution use this script it converts android backup to nandroid backup
http://forum.xda-developers.com/showthread.php?p=65374561
Hello! Super-Developers, mega-programmers and smart hackers!
Nobody does not know how to open *. backup file?
No one can't help in this problem suffering millions of android/windows users?
You suggest them to install Unix/Linux system, - everybody to become hackers and programmers?!
maybe in the World exists GUI- programme to open *. backup file?
Someone can solve this problem of the century?
Philoandr said:
Hello! Super-Developers, mega-programmers and smart hackers!
Nobody does not know how to open *. backup file?
No one can't help in this problem suffering millions of android/windows users?
You suggest them to install Unix/Linux system, - everybody to become hackers and programmers?!
maybe in the World exists GUI- programme to open *. backup file?
Someone can solve this problem of the century?
Click to expand...
Click to collapse
What do you expect. You are trying to edit a Linux based file. Not to mention a closed sourced compressed file.
There are free programs like OSFMount or DiskInternals Linux Reader for mounting (android) linux file system images on Windows. Also 7-Zip for Windows can extract files from linux file system images.
However, there is metadata like user identifier and group ownership, file permissions, SELinux context (user role type range) stored for each file, which gets lost once you have saved linux files to windows disk. Without this metadata you can not restore files to phone.
Regardless you can extract files in windows if you just care about pictures, music files etc. Maybe one day there is a developer who may write such a program no matter its useless for restoring complete user data to phone.
Regarding the userdata*.backup files (no cwm) this is a chinese feature not provided by google android open source project. Without source code its nearly impossible to analyze the checksum algorithm. You can not re-create a userdata*.backup file.
What you can do is unpacking it. make a guess. cut off the first 512 byte header of each file which is probably the checksum. then merge the files together. Now you have a file for further analysis. Its probably either a ext4 disk image or a (gz compressed) tarball archive. a disk image can be mounted as a new drive, metadata keeps preserved in this case. a tarball archive must extracted with gnu tar to linux file system. when extracting with 7-Zip you will lose metadata.
There is a risk of tarball archive is unheadered Tar, in this case 7-zip will not extract it. If your phone is encrypted, the disk image is probably encrypted disk image (thats where the hacker stuff starts).
If you want to remove the checksum in windows, there is a small problem. There is no such command. You can use a third party command line utility Trunc to try it. (truncate deletes only from tail)
Another way for Windows, you can use some linux utils with cygwin. I don't know exactly how to do it, but @Doc_cheilvenerdi.org released a Windows script Odinatrix which converts unheadered Tar to Ustar Tar. From this you can use some linux utils (i don't know if it works for converting backups, too)
1. unpack the Odinatrix-WINDOWS.zip file. copy the folder named "files" containing cygwin linux utils. rename the folder to bash (or any meaningful name)
2. create a new folder on Windows Desktop
3. move the backup files to <some folder>
4. open the Windows Command Prompt
goto Windows Start - Run...
type: %SystemRoot%\system32\cmd.exe - press OK
now type the following commands in Windows terminal console:
5. add bash folder to windows environment variable %PATH%
(example: PATH=%PATH%;C:\Program Files\bash)
Code:
PATH=%PATH%;<path to bash folder>
6. change directory and list backup files
Code:
cd %UserProfile%\Desktop\<some folder>
dir /a userdata*.backup*
7. cut off 512 byte header from each file using (cygwin) gnu "dd" linux util like @ektoric suggest in post #6.
do this for each file, skipping 512 bytes only (without unpacking). replace the wildcard * with <date>_<time>
Code:
dd if=userdata*.backup of=userdata*.part0 bs=512 skip=1
dd if=userdata*.backup1 of=userdata*.part1 bs=512 skip=1
dd if=userdata*.backup2 of=userdata*.part2 bs=512 skip=1
dd if=userdata*.backup3 of=userdata*.part3 bs=512 skip=1
8. merge the files with windows
Code:
copy /v /y userdata*.part0 /b + userdata*.part1 /b + userdata*.part2 /b + userdata*.part3 /b userdata*.img /b
9. try to mount the userdata*.img with OSFMount. if not working, try extracting with 7-zip.
Besides this linux is no hacker-os and just as easily operated as windows. You can boot a live distribution from usb-stick without installing.
for further questions, please visit the main thread
[Q] How to Extract data from .Backup file ? - Created with android system recovery
zelendel said:
What do you expect. You are trying to edit a Linux based file. Not to mention a closed sourced compressed file.
Click to expand...
Click to collapse
Thank you for the answer!
Please comment next:
1) Video how to extract files from
"Linux based, Not to mention, a closed sourced compressed" backup file with metadata:
Распаковка и извлечение файлов из резервной копии - YouTube
m.youtube.com/watch?v=HNXed7RGR2g
2) quote from Android Backup Extractor's README-TXT-instruction:
"Usage:-- Windows: very easy"?
Android Backup Extractor - -- sourceforge.net/projects/adbextractor/files
-sourceforge.net/projects/adbextractor/reviews?source=navbar
I tried to use Android Backup Extractor In WinXp SP3
but windows version of this app shows cygwin&some other files missing.
Do you know why it doesn't work?
I don't need to recover backup on its own place.
My target is to extract and open few files: photos, videos, documents...
Strangely 7zip also doesn't work. Thank you in advance!
adbextractor is for adb backups *.ab only (btw open source).
cygwin is a implementation of linux utils running in windows.
the above solution uses cygwin, did you try?
aIecxs said:
adbextractor is for adb backups *.ab only (btw open source).
cygwin is a implementation of linux utils running in windows.
the above solution uses cygwin, did you try?
Click to expand...
Click to collapse
Thank you for first very detailed answer!
It seems that you have a remarkable grasp of this subject,
that's why I ask you to comment my previous post about video and Android Backup Extractor.
Your second post is not clear for me: adbextractor is only for *.ab files??
I have few files cygwin, is it a separate program??
I attempted to run file start.exe - windows version of Android Backup Extractor with those few cygwin files
but unsuccessful.
I read and test a lot, but The problem is still unsettled.
i came up two years ago with same question, how to unpack, and ended up with learning linux. i have uploaded a bash script, but i don't know if it works. i am not a developer and still learning, and nobody give feedback.
what is exactly file name of your backup? suffix *.ab or *.backup? these are completely different, don't mix up tools.
if you mean userdata_20180313_161000.backup files, please try mini tut above beginning 1.
aIecxs said:
i came up two years ago with same question, how to unpack, and ended up with learning linux. ... i am not a developer and still learning
Click to expand...
Click to collapse
It is classic aphorismic sentence!! I like it.
What's the bash script? for what goal? it is for Windows? If yes, I'll try it. give me the link.
my files are userdata_20100102_045926.backup, -=-=.backup1, 2, 3......
I'm not Englishman, "mini tut" is mini tutorial?
You have 100 posts and 25 thanks - super rate for notdeveloper.
the tool in video (adbextractor) can not unpack your backup. your backup is a splitted ext4 partition image. OSFMount can open ext4 partition images from Windows
bckp2cwm.sh script is basically doing the same steps like mini tutorial above. unfortunately it is for linux. main goal is convert userdata*.backup to cwm backup, but its paused in the middle (after unpacking, before repacking)
as windows user, all you need is a usb-stick. there is a tool unetbootin running in windows. it is a one-click-solution for downloading and copying any linux distribution to usb-stick. you can boot into linux from this usb-stick, for example ubuntu
aIecxs said:
OSFMount can open ext4 partition images from Windows
Click to expand...
Click to collapse
OSFMount can extract few files from my backup?
Thank you very much for efficient advices!!!:highfive:
I'll try them in sequence.
although Linux is not my :angel:dream.
Solution for Windows
1. Download and install free hhd hex editor neo.
2. Open each of your .backup files, in select menu select range at 0 offset size 512 decimal, delete and save.
3. Use Windows copy command to join files as described in post#11 (Thanks to the author for free education).
4. Use any program that reads Linux disk image files. I used diskinternals (mount image from the drive menu first). Openext worked too.
This won't work on tar archives if I understand correctly. This took me days to figure out and only minutes to execute. No thanks to confusing android prompts while upgrading to a new OS.
yoyohelp said:
1. Download and install free hhd hex editor neo.
2. Open each of your .backup files, in select menu select range at 0 offset size 512 decimal, delete and save.
3. Use Windows copy command to join files as described in post#11 (Thanks to the author for free education).
4. Use any program that reads Linux disk image files. I used diskinternals (mount image from the drive menu first). Openext worked too.
This won't work on tar archives if I understand correctly. This took me days to figure out and only minutes to execute. No thanks to confusing android prompts while upgrading to a new OS.
Click to expand...
Click to collapse
Hi i have a problem i have 5 files from the backup each with 2gb when i do the command from post 11 it works nice but when goes to backup part 3 it gives an error, what could it be? Im i doing something wrong?

[Q] Mounting/Extracting FXZ Files

Is there a way to mount or extract the files within the stock system.img (and other img files)?
i was trying to do this a few days ago and i found that somehow the system.img from the firmware was protected, i tried lots of programs but none worked, all marked an error. so i dont know what to do next.
Well, I ended up flashing the system.img file and then rebooting immediately into TRWP and taking a backup. From that I was able to copy it down and extract the contents. Kind of roundabout but it worked. If someone has a more direct method I'd like to know how it can be done.
Download ImgExtractor 1.3.4 by And_PDA (Program page here). To use, open a command prompt in the directory where ImgExtractor.exe and system.img are, and enter:
Code:
ImgExtractor.exe system.img System -i
where system.img is the file you're extracting and System is the folder it will extract all of the files to (it will create one if it doesn't already exist). The "-i" is optional, but it shows the individual files as they are extracted (verbose output), and is more fun to look at than an idle window.
See the readme or double click on ImgExtractor.exe for more usage info.
EDIT: Download is now linked to my DropBox and added with readme below.
Summersett said:
Download ImgExtractor 1.3.4 by And_PDA (Program page here). To use, open a command prompt in the directory where ImgExtractor.exe and system.img are, and enter:
Code:
ImgExtractor.exe system.img System -i
where system.img is the file you're extracting and System is the folder it will extract all of the files to (it will create one if it doesn't already exist). The "-i" is optional, but it shows the individual files as they are extracted (verbose output), and is more fun to look at than an idle window.
See the readme or double click on ImgExtractor.exe for more usage info.
EDIT: Download is now linked to my DropBox and added with readme below.
Click to expand...
Click to collapse
]
that worked perfectly, i'll attach that file because the russian page 404'd it, so i had to find it somewhere else.
its attached if anyone want it. thanks!

Any way to extract application and data from TWRP backup?

Hello,
Just wanted to ask if there's a way to extract specific application and its data from TWRP backup?
What are your suggestions? I have tried opening zip but I didn't have luck finding what I was looking for.
Thank you in advance!
If you look at the TWRP logs it indicates that it uses tar to create the archive file.
All you have to do is rename the .wim file to .tar.gz, then extract the file.
Related Windows command line is
Code:
tar -xvzf filename.tar.gz
jwoegerbauer said:
If you look at the TWRP logs it indicates that it uses tar to create the archive file.
All you have to do is rename the .wim file to .tar.gz, then extract the file.
Related Windows command line is
Code:
tar -xvzf filename.tar.gz
Click to expand...
Click to collapse
Thanks!

Conversion of one file type to another for purposes you will not be informed of. (intentionally vague)

HOW, in detail, step by step, can I take stock firmware in the Samsung 4 file format tar.md5, and somehow, with minimal extra steps, create a flashable zip file with it?
If you're on a Windows computer, use 7Zip tool to untar & zip an archive
More info here:
https://allthings.how/how-to-use-7-zip-in-windows-11/
BTW:
You can untar a .TAR via Windows command prompt, too:
Code:
tar -xf <TAR-FILE>
jwoegerbauer said:
If you're on a Windows computer, use 7Zip tool to untar & zip an archive
More info here:
https://allthings.how/how-to-use-7-zip-in-windows-11/
BTW:
You can untar a .TAR via Windows command prompt, too:
Code:
tar -xf <TAR-FILE>
Click to expand...
Click to collapse
So it is that easy? No special hand coded files to direct things or anything like that? So when people say a "flashable zip", it's no different internally than the tarballs are? Just decompress one and compress into the other? I had a suspicion it might be that way, but everyone has been so cryptic with other users, and just refusing to answer, I thought it must be more complicated than that. Thank you very much for the straight answer, I am very grateful.
So i state this as overtly as possible for posterity: nothing signifies a flashable zip as different than an ordinary zip other than the contents, which are identical to the contents of a tar archive. Easy.

Categories

Resources