Last active
August 29, 2015 14:00
-
-
Save xingrz/11380737 to your computer and use it in GitHub Desktop.
Teardown Glass
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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