New Payload - Little Labyrinth

pull/22/head
cribb-it 2021-09-04 09:27:50 +01:00
parent 0f1be1919c
commit c400a34f1c
2 changed files with 964 additions and 0 deletions

View File

@ -0,0 +1,936 @@
#!/bin/bash
# Title: Little Labyrinth
# Description: Quacking text adventure
# Author: Cribbit
# Version: 1.0
# Category: General
# Prop: Andrew Petro - BashVenture And All the Hak5 team!!!
MATCH shall we play a game
# variables
char=/root/loot/croc_char.log
noob=0
cow=0
abs=0
free=0
pineapple=0
fox=1
damage=0
fight=0
quack_line () {
if [[ $2 -eq 1 ]]; then
QUACK ENTER
fi
QUACK STRING "$1"
QUACK ENTER
}
quack_cmds () {
quack_line "Commands are: n, e, s, w, i and q" 1
}
wait_input () {
# echo waiting
QUACK STRING "> "
cnt=$(wc -m "$char" | awk {'print $1'})
while : ; do
cnt2=$(wc -m "$char" | awk {'print $1'})
if [ "$cnt" -ne "$cnt2" ]; then
break
fi
sleep .5
done
tail -c 1 "$char"
}
good_bye () {
quack_line "Good Bye" 1
exit
}
dead () {
quack_line "Your Dead :-(" 1
quack_line "Could have been worst, you might of have died of dysentery"
quack_line "Please try again !!" 1
good_bye
}
wall_desc () {
case $(($RANDOM % 16 + 1)) in
1 ) quack_line "Nope. Wall." 1 ;;
2 ) quack_line "WALL EQUALS TRUE." 1 ;;
3 ) quack_line "Wall face, face wall." 1 ;;
4 ) quack_line "Somehow you think walls don't apply to you. They do." 1 ;;
5 ) quack_line "You take a look at the decor. It's pretty nice." 1 ;;
6 ) quack_line "Nothing but wall here." 1 ;;
7 ) quack_line "You can't walk through walls" 1 ;;
8 ) quack_line "You faceplant the wall. Idiot." 1 ;;
9 ) quack_line "You were going to go that way, then you took a wall to the face." 1 ;;
10 ) quack_line "Not much over here." 1 ;;
11 ) quack_line "There's a curtain - but no window behind it. How odd." 1 ;;
12 ) quack_line "Seriously? Though the wall? Sorry, No." 1 ;;
13 ) quack_line "Right, let me explain this whole 'wall' thing to you..." 1 ;;
14 ) quack_line "You attempt to walk through the wall. You fail." 1 ;;
15 ) quack_line "I'd tell you a joke about a twenty foot wall, but you'd never get over it." 1 ;;
16 ) quack_line "This wall has wires hanging out of it. It may be a threat!" 1 ;;
esac
}
ascii_art () {
quack_line " ) o _)_ _)_ ) _ ) _ ( _ _ o _ _)_ ( _ " 1
quack_line "(__ ( (_ (_ ( )_) (__ (_( )_) (_( ) ( ) ) (_ ) )"
quack_line " (_ _) "
}
room_start () {
ascii_art
quack_line "Will you be able to escape!!!"
quack_line "Commands :" 1
quack_line "n = north"
quack_line "e = east"
quack_line "s = south"
quack_line "w = west"
quack_line "i = interact"
quack_line "q = quit"
QUACK ENTER
quack_line "Upon awakening, you find your self in a room, you do not recognise." 1
quack_line "The room is dark but you can see a door to the north of you."
quack_line "You never know you might find a cake."
while true; do
command=$( wait_input )
case $command in
n ) room1 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room1 () {
quack_line "The room is well lit with a small table there is something on it!" 1
quack_line "The exits are north east and west." 1
while true; do
command=$( wait_input )
case $command in
n ) room4 ;;
s ) quack_line "The door is locked" 1 ;;
w ) room3 ;;
e ) room2 ;;
i )
if [[ $noob -eq 0 ]]; then
quack_line "oh it's NOOB LUBE!!" 1
quack_line "you apply it liberally"
noob=1
else
quack_line "you have use the whole tube" 1
fi ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room2 () {
quack_line "You entered a hallway!" 1
quack_line "The exits are north, south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) room6 ;;
s ) room7 ;;
w ) room1 ;;
e ) quack_line "There is something scratch on the wall" 1
quack_line "EEF5204D6A" ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room3 () {
quack_line "The room has a high ceiling held up by four large pillars" 1
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room5 ;;
s ) wall_desc ;;
w ) quack_line "There is an advert telling you the benefits of the freeze pop diet." 1 ;;
e ) room1 ;;
i )
quack_line "There is nothing in this room (apart form something on the west wall)" 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room4 () {
quack_line "You find yourself in a cosy room, there is a cat sitting in front of a large fireplace." 1
quack_line "The exits are north and south." 1
while true; do
command=$( wait_input )
case $command in
n ) room10 ;;
s ) room1 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "You stroke the cat, it purrs generally." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room5 () {
quack_line "You're in a large room." 1
quack_line "Hanging from the ceiling is a huge chandelier."
quack_line "It's soo shiny."
quack_line "Well, it's not for you." 1
quack_line "You're just looking at a text editor."
quack_line "You'd have to turn your display brightness up to max."
quack_line "And it still wouldn't be a bright and shiny as this."
quack_line "It's so bright you can't see the exits." 1
while true; do
command=$( wait_input )
case $command in
n ) room14 ;;
s ) room3 ;;
w ) wall_desc;;
e ) wall_desc ;;
i )
quack_line "You search your pockets for sunglasses." 1
quack_line "You don't have any." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room6 () {
quack_line "It look like a bar!!!" 1
quack_line "The exits are north and south." 1
while true; do
command=$( wait_input )
case $command in
n ) room16 ;;
s ) room2 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "You drink all the booze, but instead of hacking all the things." 1
quack_line "You do a barrel roll." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room7 () {
quack_line "This must be the boiler room pipes everywhere." 1
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room2 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) room17 ;;
i )
quack_line "Pipe all the things." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room8 () {
#0303
quack_line "Wow, lots of arcade machines" 1
quack_line "what is this 1984"
quack_line "The exits are south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room27 ;;
w ) room21 ;;
e ) wall_desc ;;
i )
quack_line "You play of the machines for a bit" 1
quack_line "Then you notice a leaflet."
quack_line "Feed up of playing by yourself? Rent a player 2 with player2rentals.com" ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room9 () {
quack_line "It's a store room. It's full of old MicroShaft products" 1
quack_line "The exits are west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) wall_desc ;;
w ) room27 ;;
e ) wall_desc ;;
i )
quack_line "oh, it the mini I bet it's BLT drive when AWOL" 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room10 () {
quack_line "You enter hallway you find a packed of" 1
quack_line "Conficker doodles"
quack_line "The exits are south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room4 ;;
w ) room14 ;;
e ) wall_desc ;;
i )
quack_line "You look at the use by date 2009." 1
quack_line "You put them back down." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room11 () {
quack_line "You enter what looks like a living room." 1
quack_line "That sofa looks comfy."
quack_line "The exits are north and south." 1
while true; do
command=$( wait_input )
case $command in
n ) room13 ;;
s ) room21 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "You sit on the sofa." 1
quack_line "There is something next to you."
quack_line "It's a Fail Bus Ticket"
quack_line "Fail Bus going nowhere at the speed of fail." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room12 () {
quack_line "There is someone standing in the corner, they look upset" 1
quack_line "The exits are north." 1
while true; do
command=$( wait_input )
case $command in
n ) room18 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "They say their name is TobyToby and they are suffering from Borked Bits" 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room13 () {
quack_line "There is a long haired man sitting at a table" 1
quack_line "The exits are north and south." 1
while true; do
command=$( wait_input )
case $command in
n ) room15 ;;
s ) room11 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
if [[ $cow -eq 0 ]]; then
quack_line "It's dangerous to go alone, take this!" 1
quack_line "a small plush COW!!!"
cow=1
else
quack_line "Hey! Listen! I gave you the cow" 1
fi ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room14 () {
quack_line "Why, that's the second biggest network monkey" 1
quack_line "I've ever seen"
quack_line "The exits are south, east and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room5 ;;
w ) room15 ;;
e ) room10 ;;
i )
quack_line "You have a cuddle with the network monkey, and feel better about your predicament" 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room15 () {
quack_line "Room 101." 1
quack_line "The exits are south and east." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room13 ;;
w ) quack_line "Scratch and Sniff packet stickers, nice GBMP" 1 ;;
e ) room14 ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room16 () {
quack_line "You're in that place where i put that thing that time." 1
quack_line "The exits are south and east." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room6 ;;
w ) wall_desc ;;
e ) room20 ;;
i )
quack_line "You find a floppy disk." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room17 () {
quack_line "Not another hallway." 1
quack_line "It's like I'm running out of ideas for room descriptions."
quack_line "The exits are south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room33 ;;
w ) room7 ;;
e ) wall_desc ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room18 () {
quack_line "I think you ought to know I'm feeling very depressed." 1
quack_line "Brain the size of a planet"
quack_line "And all you've got me doing is QUACKing out new room descriptions."
quack_line "Who ever heard of a croc quacking?" 1
while true; do
command=$( wait_input )
case $command in
n ) room20 ;;
s ) room12 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "I could calculate your chance of survival, but you won't like it." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room19 () {
quack_line "As you walk into the room the door lock behind you!" 1
QUACK DELAY 500
quack_line "You start to see a faint red glow, then you hear:"
QUACK DELAY 500
quack_line "Do not attempt to adjust your text editor"
quack_line "It is I the most awesome and omnipotent"
QUACK DELAY 500
quack_line "EVIL SERVER" 1
QUACK DELAY 500
quack_line "Together me and my script kiddies will take over hak.5 once and for all!!!" 1
while true; do
command=$( wait_input )
case $command in
i )
quack_line "EVIL SERVER goes from the attack" 1
((fight=fight+1))
case $fight in
1 )
if [[ $noob -eq 0 ]]; then
quack_line "You didn't apply the noob lube you take a hit"
((damage=damage+1))
else
quack_line "The noob lube protected you from the hit"
fi
;;
2 )
if [[ $abs -eq 0 ]]; then
quack_line "You didn't find the special powers you take a hit"
((damage=damage+1))
else
quack_line "Your newly acquired abs protected you from the hit"
fi
;;
4 )
if [[ $free -eq 0 ]]; then
quack_line "Wait what you didn't get you free copy of nmap"
quack_line "Sorry, you take a hit"
((damage=damage+1))
else
quack_line "The copy of nmap protected you from the hit"
fi
;;
3 )
if [[ $cow -eq 0 ]]; then
quack_line "What you didn't get the cow"
quack_line "What's wrong with you?"
quack_line "You take a hit"
((damage=damage+1))
else
quack_line "The Cow protected you from the hit"
fi
;;
* )
if [[ $damage -gt 2 ]]; then
quack_line "You've taken to much damage"
dead
else
quack_line "You walk over, unplug him and leave through the door." 1
QUACK DELAY 500
quack_line "That was a bit anticlimatic." 1
quack_line "Thank you for playing"
QUACK DELAY 500
ascii_art
good_bye
fi
;;
esac
;;
* ) quack_line "You can't run away now !!!" 1
;;
esac
done
}
room20 () {
quack_line "There is something moving a round in here" 1
quack_line "The exits are south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room18 ;;
w ) room16 ;;
e ) wall_desc ;;
i )
quack_line "It's a glider it likes to mubix mubix" 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room21 () {
quack_line "It's a kitchen!!!" 1
quack_line "Maybe there is something to eat"
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room11 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) room8 ;;
i )
quack_line "You have a nice big bowl of Hax0rFlakes" 1
quack_line "Wow a free copy of nmap"
free=1;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room22 () {
quack_line "This room is full of flamingos" 1
quack_line "The exits are north." 1
while true; do
command=$( wait_input )
case $command in
n ) room33 ;;
s|w|e ) quack_line "FLAMINGOS, if only you had an action figure with kung-fu grip" 1 ;;
i )
quack_line "Strange this flamingo is made of plastic, with a label on it" 1
quack_line "property of Paul" ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room23 () {
quack_line "There is someone sitting in a Miata" 1
quack_line "I wonder how they got it to fit in such a small room."
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room26 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) room32 ;;
i )
quack_line "You tap on the window" 1
quack_line "they show you their multi pass" ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room24 () {
quack_line "There is a fox with a dapper moustache wearing sunglasses." 1
quack_line "They seem to be holding some sort of fruit."
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s )
if [[ $pineapple -eq 0 ]]; then
quack_line "did that wall just wobble?" 1
else
room30
fi ;;
w ) room32 ;;
e ) quack_line "a poster, i heart pizza" 1 ;;
i )
if [[ $pineapple -eq 0 ]]; then
quack_line "the fruit it's a pineapple with a small button." 1
QUACK STRING "you push the button for 4 seconds"
QUACK DELAY 100
QUACK .
QUACK DELAY 100
QUACK .
QUACK DELAY 100
QUACK .
QUACK DELAY 100
quack_line " did anything happen?"
pineapple=1
else
case $fox in
1 ) quack_line "Stop pressing the button you are going to make the fox angry" 1 ;;
2 ) quack_line "the fox raises an eye brow" 1 ;;
3 ) quack_line "the fox is starting to snarl" 1 ;;
4 ) quack_line "they are reaching for their ban hammer" 1 ;;
* )
quack_line "they hit you on your head" 1
dead
;;
esac
((fox=fox+1))
fi ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room25 () {
#2316
quack_line "There is a large tree in front of you." 1
quack_line "With a squirrel on one of the brunches."
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room32 ;;
s ) wall_desc ;;
w ) room29 ;;
e ) wall_desc ;;
i )
quack_line "The squirrel says his name is Brian." 1
quack_line "That strange, he seems to be stuffed with an old duster." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room26 () {
quack_line "There is a large machine with a button on it." 1
quack_line "The exits are south and east." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room23 ;;
w ) wall_desc ;;
e ) room27 ;;
i )
quack_line "The machine whirls and gurgles, then a cup pops out." 1
quack_line "Yum it's a slushy, very refreshing." ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room27 () {
quack_line "IT'S ROOM, OK" 1
quack_line "You don't like the description"
quack_line "Make a pull request"
quack_line "The exits are north, east and west." 1
while true; do
command=$( wait_input )
case $command in
n ) room8 ;;
s ) wall_desc ;;
w ) room26 ;;
e ) room9 ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room28 () {
quack_line "You're in a small room with two fence panels." 1
quack_line "The exits are north, east and west." 1
while true; do
command=$( wait_input )
case $command in
n ) room31 ;;
s ) wall_desc ;;
w ) room30 ;;
e ) room19 ;;
i )
quack_line "You note that both fence panels are coved in" 1
quack_line "STICKERS!!!"
;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room29 () {
quack_line "There must of been some sort of Glytch." 1
quack_line "You're back in the room you started in." 1
quack_line "The room is still dark but you can see the door to the north of you."
quack_line "But hey at least you recognise the room."
while true; do
command=$( wait_input )
case $command in
n ) room1 ;;
s ) wall_desc ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room30 () {
quack_line "This room seem to be made of fake bricks." 1
quack_line "The exits are north and east." 1
while true; do
command=$( wait_input )
case $command in
n ) room24 ;;
s ) quack_line "how weird there seem to be a framed motherboard hanging on this wall." 1 ;;
w ) wall_desc ;;
e ) room28 ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room31 () {
quack_line "There is a girl she says she can give special powers." 1
quack_line "The exits are south." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room28 ;;
w ) wall_desc ;;
e ) wall_desc ;;
i )
if [[ $abs -eq 0 ]]; then
quack_line "She takes out a marker and draws abs on you." 1
abs=1
else
quack_line "what more do you want." 1
fi ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room32 () {
quack_line "This is not a room nor a pipe." 1
quack_line "The exits are south, east and west." 1
while true; do
command=$( wait_input )
case $command in
n ) wall_desc ;;
s ) room25 ;;
w ) room23 ;;
e ) room24 ;;
i )
quack_line "There is nothing in this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room33 () {
# 2601
quack_line "The room you have entered is covered in some sort of drape." 1
quack_line "The exits are north, south and west." 1
while true; do
command=$( wait_input )
case $command in
n ) room17 ;;
s ) room22 ;;
w ) room29 ;;
e ) quack_line "There is something written on the wall." 1
quack_line "Short'a fuse, big'a boom!" ;;
i )
quack_line "There is nothing to do this room." 1 ;;
q )
good_bye
;;
* ) quack_cmds ;;
esac
done
}
room_start

View File

@ -0,0 +1,28 @@
# Little Labyrinth
* Author: Cribbit
* Version: 1.0
* Target: any
* Category: General
* Attackmode: HID
* Props: Andrew Petro - BashVenture and all the Hak5 team!!!
## Change Log
| Version | Changes |
| ------- | ------------------------------|
| 1.0 | Initial release |
## Description
Quacking text adventure
Open a text editor, start the game and enjoy this basic text adventure.
## Match
shall we play a game
## Commands
* n = north
* e = east
* s = south
* w = west
* i = interact
* q = quit