Initial dump
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
#!/bin/sh
|
||||
|
||||
scriptcommand=genpass
|
||||
runcommand=getpassword
|
||||
|
||||
batchdate="26.10.2021"
|
||||
|
||||
programtitle1="**** Zyxel VMG8823/8825"
|
||||
programtitle2="**** Calculate admin/supervisor/wifi password by serial number"
|
||||
programtitle3="**** Script by maximux/bovirus v. $batchdate"
|
||||
|
||||
# mask for check first part of serial nuimber
|
||||
serialstartok1="172"
|
||||
serialstartok2="182"
|
||||
serialstartok3="190"
|
||||
serialstartok4="192"
|
||||
|
||||
# mask for check midlle part of serial nuimber
|
||||
serialmiddleok1="H"
|
||||
serialmiddleok2="S"
|
||||
serialmiddleok3="V"
|
||||
serialmiddleok4="Y"
|
||||
|
||||
# default value for the operation
|
||||
debug=0
|
||||
exec=1
|
||||
error=0
|
||||
|
||||
echo ""
|
||||
echo "$programtitle1"
|
||||
echo "$programtitle2"
|
||||
echo "$programtitle3"
|
||||
echo ""
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
error=1 # no modem serial number provided
|
||||
else
|
||||
|
||||
export SERIAL=$1
|
||||
SERIAL=$(echo "$SERIAL" | tr '[:lower:]' '[:upper:]')
|
||||
seriallenght=${#SERIAL}
|
||||
serialsubstring1=$(echo $SERIAL | cut -c1-1) # extract first part of modem serial
|
||||
serialsubstring2=$(echo $SERIAL | cut -c2-4) # extract secndo part of modem serial
|
||||
serialsubstring3=$(echo $SERIAL | cut -c5-5) # extract third part of modem serial
|
||||
serialsubstring4=$(echo $SERIAL | cut -c6-13) # extract fourth part of modem serial
|
||||
|
||||
#----------------------------------------------- check serial lenght of 13 charcaters
|
||||
if [ $seriallenght -ne 13 ]; then
|
||||
if [ $error -eq 0 ]; then
|
||||
error=2
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------- check that first character is S
|
||||
if [ "$serialsubstring1" != "S" ]; then
|
||||
if [ $error -eq 0 ]; then
|
||||
error=3
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------- check che 2nd part is all numeric
|
||||
if ! [ "$(echo $serialsubstring2 | grep -E "^[0-9]{1,}$")" ]; then
|
||||
if [ $error -eq 0 ]; then
|
||||
error=4
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------- check che 3rd part is a letter
|
||||
|
||||
if ! [ "$(echo $serialsubstring3 | grep -E "^[A-Z]{1,}$")" ]; then
|
||||
if [ $error -eq 0 ]; then
|
||||
error=5
|
||||
fi
|
||||
fi
|
||||
|
||||
#----------------------------------------------- check that 4th part is all numeric
|
||||
if ! [ "$(echo $serialsubstring4 | grep -E "^[0-9]{1,}$")" ]; then
|
||||
if [ $error -eq 0 ]; then
|
||||
error=6
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $error -ne 0 ]; then
|
||||
if [ $error -ne 1 ]; then
|
||||
echo "-----------------------------------------"
|
||||
echo " Modem serial number = "$SERIAL
|
||||
echo "-----------------------------------------"
|
||||
echo ""
|
||||
fi
|
||||
echo "error = $error"
|
||||
echo ""
|
||||
echo "error 1 = no serial number provided"
|
||||
echo "error 2 = serial number lenght is not 13 characters"
|
||||
echo "error 3 = character n. 1 of serial number is not 'S'"
|
||||
echo "error 4 = characters n. 2-3-4 of serial number are not numbers"
|
||||
echo "error 5 = character n. 5 of serial number is not a letter"
|
||||
echo "error 6 = characters from 6 to 13 of serial number are not numbers"
|
||||
echo ""
|
||||
echo "-----------------------------------------"
|
||||
echo ""
|
||||
echo "command syntax:"
|
||||
echo ""
|
||||
echo " genpass ModemSerialNumber"
|
||||
echo ""
|
||||
echo "ModemSerialNumber is a 13 character string"
|
||||
echo ""
|
||||
echo "Example: genpass S123V12345678"
|
||||
else
|
||||
echo "-----------------------------------------"
|
||||
echo " Modem serial number = "$SERIAL
|
||||
echo "-----------------------------------------"
|
||||
if [ $exec -eq 1 ]; then
|
||||
export LD_LIBRARY_PATH=/opt/zyxel/lib:/opt/zyxel/lib/private:/opt/zyxel/lib/public:/opt/zyxel/usr/lib
|
||||
export LD_PRELOAD=/opt/genpass/libhook.so
|
||||
/opt/genpass/$runcommand
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user