Skip to content

Instantly share code, notes, and snippets.

@xingrz
Last active August 29, 2015 14:00
Show Gist options
  • Save xingrz/11380737 to your computer and use it in GitHub Desktop.
Save xingrz/11380737 to your computer and use it in GitHub Desktop.
Teardown Glass
#!/bin/sh
YELLOW="\033[33m"
PINK="\033[36m"
RESET="\033[0m"
echo "$PINK Extracting $1...$RESET"
zip=$1
rom=${zip%.*}
mkdir $rom
unzip $zip -d $rom
cd $rom
echo "$PINK Converting system.img...$RESET"
../tools/simg2img system.img system.ext4.img
echo "$PINK Mounting system...$RESET"
mkdir .mount
fuse-ext2 system.ext4.img .mount
while [ ! -f .mount/build.prop ]; do :; done
echo "$PINK Unpacking system...$RESET"
mkdir system
cp -R .mount/* system
echo "$PINK Cleaning...$RESET"
umount .mount
rmdir .mount
rm system.ext4.img
cd system
egrep -o "^ro\.build\.(date|type|product|version\.glass)\=.+" build.prop
echo "$PINK Fixing permissions...$RESET"
sudo find . -type d | xargs chmod 755
sudo find . -type f | xargs chmod 644
echo "$PINK Unpacking priv-app/Glass*.apk...$RESET"
cd priv-app
for i in Glass*.apk; do
echo "$YELLOW $i $RESET"
echo " Unpacking..."
mkdir ${i%.*}
unzip -q $i -d ${i%.*}
echo " Extracting resources..."
apktool d -s $i ${i%.*}/apktool >/dev/null 2>&1
cp -Rf ${i%.*}/apktool/* ${i%.*}/
rm -rf ${i%.*}/apktool
cd ${i%.*}
if [ -f classes.dex ]; then
echo " Extracting smalis..."
mkdir smali
baksmali -a 19 -o smali classes.dex >/dev/null 2>&1
echo " Converting jar..."
d2j-dex2jar -o classes.jar classes.dex >/dev/null 2>&1
rm -f classes.dex
echo " Extracting classes..."
mkdir classes
unzip -q classes.jar -d classes
echo " Deassembling javas..."
mkdir src.jad
find classes -name "*.class" | xargs jad -ff -r -nonlb -s java -space -d src.jad >/dev/null 2>&1
rm -rf classes
fi
cd ..
done
cd ..
echo "$PINK Unpacking framework/glass-*.odex...$RESET"
cd framework
for i in glass-*.jar; do
echo "$YELLOW $i $RESET"
echo " Unpacking..."
mkdir ${i%.*}
unzip -q $i -d ${i%.*}
cd ${i%.*}
echo " Extracting smalis..."
mkdir smali
baksmali -a 19 -o smali classes.dex >/dev/null 2>&1
echo " Converting jar..."
d2j-dex2jar -o classes.jar classes.dex >/dev/null 2>&1
rm -f classes.dex
echo " Extracting classes..."
mkdir classes
unzip -q classes.jar -d classes
echo " Deassembling javas..."
mkdir src.jad
find classes -name "*.class" | xargs jad -ff -r -nonlb -s java -space -d src.jad >/dev/null 2>&1
rm -rf classes
cd ..
done
cd ..
echo "$PINK Done.$RESET"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment