Hey Android Enthusiasts, Security Researchers, EL33T H@CK3Rs, and people who followed this link!
Ever need to download a binary file from your Android device/emulator, but don’t know the package name or the path?
Well, you could use the following, which I have been doing for years…
adb shell pm list packages | grep <search term for app> adb shell pm path <package from above> adb pull <path>
Easy, right? But these days with App Bundles, binaries don’t come nicely packaged up like they use to in a single
Instead strings, images, assets, and code files can all come scattered into separate
.apk files that all need to be installed together for the app to function, which requires people like me to download each individually.
Still not bad, but in general, it’s a waste of time.
And no one has time to waste.
With DABS, you can simply enter the following in, and it will download all paths associated with your search term.
dabs -s "google"
This will output a list of packages associated with that search term:
 com.google.android.apps.nbu.paisa.user  com.google.android.apps.pixelmigrate  com.google.android.projection.gearhead  com.google.android.wifi.resources  com.google.android.apps.wallpaper  com.google.android.apps.youtube.music  com.google.android.apps.nexuslauncher.auto_generated_rro_product__  com.google.android.cellbroadcastreceiver  com.google.android.inputmethod.latin  com.google.android.apps.restore -=-=-=-=-=-=-=-=-=-=-=-=- [#] to download a specific package. [a] or [all] to download all packages listed. [c] or leave blank to exit.
From here, you can choose to download all of them, or pick and choose your adventure.
This will create a directory based on the package, and download all necessary files into that directory for you.
Since DABS is a fish function, it requires the following:
- Fish Shell
brew install fish
- Android Debug Bridge
- You probably already have this if you have Android Studio installed
Configuring is easy.
With Fish Shell already installed, go into your fish functions directory, usually located at the below:
Inside of this folder, you can clone the repo:
git clone firstname.lastname@example.org:dustinsummers/dabs.git
After that, open up a shell and quickly run a
source on the new
.fish we just downloaded:
<Note: You shouldn’t need to source everytime you open up a new shell/terminal, but if you find yourself in that situation, add this line to the alias below or just add this line at the top of your
config.fish file and you should be good :)>
From here, it is just a matter of pointing your
config.fish file to this new function with an alias.
~/.config/fish/config.fish, add the following line wherever you keep your
At the time of this writing, only two options exist:
dabs -d <device to point to if you have multiple> -s <search term>
dabs -d emulator-5554 -s "google"
From here, the terminal will prompt for input in regards to which packages to download/directories to store, etc.