hacks/dump-imessages/iphone-dataprotection/build_ramdisk_ios6.sh

90 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
if [ ! $(uname) == "Darwin" ]
then
echo "Script for Mac OS X only"
exit
fi
if [ $# -lt 1 ]
then
echo "Syntax: $0 DECRYPTED_RAMDISK_DMG"
exit
fi
if [ ! -f ssh.tar.gz ]
then
echo "Downloading ssh.tar.gz from googlecode"
curl -O http://iphone-dataprotection.googlecode.com/files/ssh.tar.gz
fi
if [ ! -f libncurses.5.dylib ]
then
echo "Downloading libncurses.5.dylib from googlecode"
curl -O http://iphone-dataprotection.googlecode.com/files/libncurses.5.dylib
fi
echo "Rebuilding ramdisk_tools"
./build_tools.sh
#compiling in a vmware shared folder can produce binaries filled with zeroes !
if [ ! -f ramdisk_tools/restored_external ] || [ "$(file -b ramdisk_tools/restored_external)" == "data" ]
then
echo "ramdisk_tools/restored_external not found or invalid, check compilation output for errors"
exit -1
fi
RAMDISK=$1
RD_SIZE=$(du -h $RAMDISK | cut -f 1)
if [ ! $RD_SIZE == "20M" ]
then
echo "resizing ramdisk..."
echo "hdiutil will segfault if ramdisk was already resized, thats ok"
hdiutil resize -size 20M $RAMDISK
fi
if [ -d /Volumes/ramdisk ]
then
echo "Unmount /Volumes/ramdisk then try again"
exit -1
fi
echo "Attaching ramdisk"
hdiutil attach $RAMDISK
rm -rf /Volumes/ramdisk/usr/local/standalone/firmware/*
rm -rf /Volumes/ramdisk/usr/share/progressui/
if [ ! -f /Volumes/ramdisk/sbin/sshd ]
then
echo "Unpacking ssh.tar.gz on ramdisk..."
tar -C /Volumes/ramdisk/ -xzkP < ssh.tar.gz
echo "^^ This tar error message is okay"
fi
if [ ! -f /Volumes/ramdisk/usr/lib/libncurses.5.4.dylib ]
then
echo "Adding libncurses..."
cp libncurses.5.dylib /Volumes/ramdisk/usr/lib/libncurses.5.4.dylib
fi
echo "Adding/updating ramdisk_tools binaries on ramdisk..."
cp ramdisk_tools/restored_external /Volumes/ramdisk/usr/local/bin/
cp ramdisk_tools/bruteforce ramdisk_tools/device_infos /Volumes/ramdisk/var/root
cp ramdisk_tools/scripts/* /Volumes/ramdisk/var/root
ls -laht /Volumes/ramdisk/usr/local/bin/
#if present, copy ssh public key to ramdisk
if [ -f ~/.ssh/id_rsa.pub ] && [ ! -d /Volumes/ramdisk/var/root/.ssh ]
then
mkdir /Volumes/ramdisk/var/root/.ssh
cp ~/.ssh/id_rsa.pub /Volumes/ramdisk/var/root/.ssh/authorized_keys
chmod 0600 /Volumes/ramdisk/var/root/.ssh/authorized_keys
fi
hdiutil eject /Volumes/ramdisk