Skip to content

Instantly share code, notes, and snippets.

@farmerjohngit
Forked from douglasdrumond/dex-count.sh
Created July 21, 2016 04:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save farmerjohngit/2d6c8ae92c60105dedde448bfd9232ec to your computer and use it in GitHub Desktop.
Save farmerjohngit/2d6c8ae92c60105dedde448bfd9232ec to your computer and use it in GitHub Desktop.
function dex-method-count() {
cat $1 | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'
}
function dex-method-count-by-package() {
dir=$(mktemp -d -t dex)
baksmali $1 -o $dir
for pkg in `find $dir/* -type d`; do
smali $pkg -o $pkg/classes.dex
count=$(dex-method-count $pkg/classes.dex)
name=$(echo ${pkg:(${#dir} + 1)} | tr '/' '.')
echo -e "$count\t$name"
done
rm -rf $dir
}
function dex-field-count(){
cat $1 | head -c 84 | tail -c 4 | hexdump -e '1/4 "%d\n"'
}
function dex-field-count-by-package() {
dir=$(mktemp -d -t dex)
baksmali $1 -o $dir
for pkg in `find $dir/* -type d`; do
smali $pkg -o $pkg/classes.dex
count=$(dex-field-count $pkg/classes.dex)
name=$(echo ${pkg:(${#dir} + 1)} | tr '/' '.')
echo -e "$count\t$name"
done
rm -rf $dir
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment