QB / QB64 Discussion Forum     RULES     Other Subforums, Links and Downloads    Index of Threads

 Return to Index  

This is Hackware

June 6 2002 at 5:02 PM
  (no login)


Response to ProgramList unknown user

BOOT:
CLS
ON ERROR GOTO ERRORCODE
VER$ = "1.01"
COL = 15
SCREEN 12 '400 BY 800
PRINT "BOOTING HAKWARE LINUX EMULATOR..."
PRINT "LOGGING STATUS..."
OPEN "C:/LOG.TXT" FOR APPEND AS #1
PRINT #1, TIME$ + DATE$ + "BOOTING " + VER$ + " ON " + TIME$ + " " + DATE$
PRINT "TESTING MATH SUBPROCESSOR..."
FOR A = 1 TO 20
FOR B = 1 TO 20
FOR C = 1 TO 20
IF A + B <> B + A THEN TEST1$ = "FAILED"
IF A * B <> B * A THEN TEST1$ = "FAILED"
IF A + (B + C) <> (A + B) + C THEN TEST1$ = "FAILED"
IF A * (B * C) <> (A * B) * C THEN TEST1$ = "FAILED"
IF A * (B + C) <> A * B + B * C THEN TEST1$ = "FAILED"
NEXT C
NEXT B
NEXT A
IF TEST1$ <> "FAILED" THEN TEST1$ = "PASSED"
PRINT TEST1$
PRINT #1, TIME$ + DATE$ + "MATH SUBPROCESSOR TEST " + TEST1$
PRINT "TESTING FILESTRUCTURE..."
CHDIR "C:/"
PRINT "DONE."
PRINT "OPENING FILES..."
CWD$ = "/"
PRINT "DONE"
PRINT "INITIALIZING PASS..."
TYPE PASS
A AS STRING * 256
END TYPE
PRINT "DONE."
PRINT "INITIATING COLOR..."
TYPE CONFIG
COL AS INTEGER
END TYPE
PRINT "DONE."
PRINT "TIMING JIFFIES..."
TIMER ON
PRINT "DONE."
PRINT "PARSING BOOT IMAGE..."
LOCATE 1, 1
CLS
LINE (100, 50)-(100, 200)
LINE (150, 50)-(150, 200)
LINE (150, 200)-(160, 210)
LINE (100, 200)-(90, 210)
LINE (100, 50)-(50, 25)
LINE (150, 50)-(200, 30)
CIRCLE (125, 1), 60
CIRCLE (100, 5), 60
CIRCLE (150, 5), 60
PLAY "F5 G5"
LOCATE 1, 15
SCREEN 12 '640 BY 800 RESOLUTION
PRINT "HAKWARE(GPL)2001"
CLS
SHELL "C:\MOUSE\AMOUSE"
SHELL "C:\BIN\MOUSE"
LOGIN:
CHDIR "C:/ECT/PASSWD"
CLS
IF INKEY$ = CHR$(27) THEN SYSTEM
PRINT "HAKWARE " + VER$ + " ON ix86"
PRINT "LOCALHOST LOGIN:"
IF INKEY$ = CHR$(27) THEN SYSTEM
INPUT LOGS$
TYPE PAS2
PAS AS STRING * 100
END TYPE
PRINT "PASSWORD:"
COLOR 0
IF INKEY$ = CHR$(27) THEN SYSTEM
INPUT PAS.PAS2
OPEN LOGS$ FOR RANDOM AS #2 LEN = LEN(PASS)
GET #2, 1, PASS
IF A.PASS <> PAS.PAS2 THEN PRINT "INVALID LOCALHOST LOGIN.": PRINT #1, 1, TIME$ + DATE$ + "INVALID LOCALHOST LOGIN FOR USER " + LOGS$: CLOSE #2: GOTO LOGIN
GET #2, 1, CONFIG
IF COL.CONFIG = 0 THEN COL.CONFIG = 15
COLOR COL.CONFIG
COL = COL.CONFIG
CLOSE #2
PRINT #1, TIME$ + DATE$ + LOGS$ + " LOGGED IN."
CLS
IF LOG$ = "root" THEN P$ = "#" ELSE P$ = "$"
IF P$ = "#" THEN CWD$ = "/" ELSE CWD$ = "/home/" + LOGS$
HOME$ = "/home/" + LOGS$
PRINT TIME$
PRINT DATE$
PRINT "Welcome to Hakware!"
CHDIR "C:" + CWD$
MAIN:
DEF FNPROMPT$ = PROMPT$
IF HOST$ = "" THEN HOST$ = "localhost"
IF DOMAIN$ = "" THEN DOMAIN$ = "localdomain"
IF LOGS$ = "root" THEN P$ = "#" ELSE P$ = "$"
PROMPT$ = "[" + LOGS$ + "@" + HOST$ + "." + DOMAIN$ + " " + CWD$ + "] " + P$

PRINT FNPROMPT$
INPUT FILE$
IF INKEY$ = CHR$(27) THEN GOTO LOGIN
IF FILE$ = "" THEN GOTO MAIN
IF FILE$ = "clear" THEN
CLS
GOTO MAIN
END IF
IF FILE$ = "setconf" THEN
OPEN "C:\ECT\PASSWD\" + LOG$ FOR RANDOM AS #3 LEN = LEN(CONFIG)
GET #3, 1, CONFIG
PRINT "YOUR CURRENT DEFAULT COLOR IS: ";
PRINT COL.CONFIG
PRINT "CHANGE IT TO: ";
INPUT COLOR.CONFIG
PUT #3, 1, CONFIG
CLOSE #3
END IF
IF FILE$ = "sendmail" THEN
INPUT SENDTO$
INPUT SUBJECT$
INPUT MESSAGE$
PRINT #1, 1, TIME$ + DATE$ + "SENDMAIL: " + SENDTO$ + " FROM " + LOGS$
CHDIR "C:/home/" + SENDTO$ + "/mail/"
OPEN "C:/home/" + SENDTO$ + "/mail/" + SUBJECT$ FOR OUTPUT AS #9
PRINT #9, 1, MESSAGE$
CLOSE #9
CHDIR "C:" + CWD$
PRINT "MESSAGE SENT"
GOTO MAIN
END IF
IF FILE$ = "color" THEN
INPUT COL2
IF COL2 > 15 THEN PRINT "INVALID COLOR ERROR: USE NUMBERS 0-15 ONLY.": PRINT #1, 1, TIME$ + DATE$ + "OOPS! INVALID COLOR ERROR!": COL2 = COL
COL = COL2
COLOR COL
GOTO MAIN
END IF
IF FILE$ = "rm" THEN
INPUT FILE5$
PRINT #1, 1, TIME$ + DATE$ + "REQUEST TO REMOVE FILE " + FILE5$ + "."
FILE5$ = "C:" + FILE5$
KILL FILE5$
PRINT "FILE " + FILE5$ + " HAS BEEN REMOVED."
GOTO MAIN
END IF
IF FILE$ = "useradd" THEN
IF P$ = "$" THEN PRINT "SORRY. YOU NEED ROOT ACCESS FOR THIS COMMAND.": PRINT #1, 1, TIME$ + DATE$ + "NON-SUPERUSER REQUESTING USERADD. REQUEST DENIED.": GOTO MAIN
IF P$ = "#" THEN
INPUT NEWUSER$
INPUT A.PASS
OPEN "C:/ECT/PASSWD/" + NEWUSER$ FOR RANDOM AS #10
PUT #10, 1, PASS
CLOSE #10
MKDIR "C:/HOME/" + NEWUSER$
PRINT #1, TIME$ + DATE$ + "ROOT REQUESTS USERADD " + NEWUSER$ + " WITH PASSWORD ."
GOTO MAIN
END IF
END IF
IF FILE$ = "passwordchange" THEN
INPUT A.PASS
OPEN "C:/ECT/PASSWD/" + LOGS$ FOR RANDOM AS #4
PUT #4, 1, PASS
CLOSE #4
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " REQUESTS PASSWORDCHANGE. PASSWORD CHANGED."
GOTO MAIN
END IF
IF FILE$ = "cat" THEN
INPUT CATIN$
IF CATIN$ = "" THEN CATIN$ = "CON:"
INPUT CATOUT$
IF CATOUT$ = "" THEN CATOUT$ = "CON:"
SHELL "COPY " + CATIN$ + " " + CATOUT$
END IF
IF FILE$ = "rmdir" THEN
INPUT FILE5$
FILE5$ = "C:" + FILE5$
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " REQUESTS RMDIR OF FOLDER " + FILE5$ + "."
RMDIR FILE5$
PRINT #1, "REMOVE COMPLETED SUCCESSFULLY."
GOTO MAIN
END IF
IF FILE$ = "ls" THEN
INPUT FILE5$
IF FILE5$ = "" THEN FILES ELSE FILES CWD$
GOTO MAIN
END IF
IF FILE$ = "exit" THEN
IF P$ = "#" THEN PRINT #1, TIME$ + DATE$ + "THE SYSTEM IS GOING DOWN FOR A HALT. NOW SUSPENDING ALL PROCESSES AND CLOSING ALL FILES.": SYSTEM
IF P$ <> "#" THEN PRINT "YOU NEED ROOT PERMISSIONS TO EXIT.": PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " REQUESTS AN EXIT. REQUEST DENIED.": GOTO MAIN
END IF
IF FILE$ = "logout" THEN
PRINT #1, TIME$ + DATE$ + "LOGOUT BY USER " + LOGS$
GOTO LOGIN
END IF
IF FILE$ = "SU" THEN GOTO LOGIN
IF FILE$ = "cd" THEN
FILE4$ = CWD$
INPUT CWD$
IF CWD$ = "" THEN CWD$ = HOME$
CHDIR "C:" + CWD$
GOTO MAIN
END IF
IF FILE$ = "rmuser" THEN
IF P$ = "$" THEN PRINT "SORRY. YOU NEED ROOT PERMISSIONS TO RUN THIS COMMAND.": PRINT #1, 1, TIME$ + DATE$ + "NON-SUPERUSER " + LOGS$ + " REQUESTS REMOVAL OF USER. REQUEST DENIED.": GOTO MAIN
INPUT USER$
IF USER$ = "ROOT" THEN PRINT "YOU CAN'T DELETE THE ROOT ACCOUNT!": GOTO MAIN
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " REQUESTS REMOVAL OF USER " + USER$
KILL "C:/ECT/PASSWD/" + USER$
RMDIR "C:/HOME/" + USER$
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " HAS SUCCESSFULLY REMOVED USER " + USER$
GOTO MAIN
END IF
IF FILE$ = "date" THEN
PRINT TIME$
PRINT DATE$
GOTO MAIN
END IF
IF FILE$ = "mkdir" THEN
INPUT CWD$
MKDIR CWD$
CHDIR CWD$
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " HAS SUCCESSFULLY MADE DIRECTORY " + CWD$ + "."
GOTO MAIN
END IF
IF FILE$ = "shell" THEN
INPUT FILE7$
PRINT #1, "USER " + LOGS$ + " REQUESTS TO RUN PROGRAM " + FILE7$ + " UNDER SHELL."
SHELL FILE7$
PRINT #1, "FILE RUN"
END IF
IF FILE$ = "new" THEN
INPUT FILE$
OPEN FILE$ FOR OUTPUT AS #11
CLOSE #11
PRINT #1, TIME$ + DATE$ + "USER " + LOGS$ + " HAS SUCESSFULLY MADE NEW FILE " + FILE$ + "."
GOTO MAIN
END IF
PRINT #1, "USER " + LOGS$ + " IS ATTEMPTING TO RUN PROGRAM " + FILE$
IF INSTR(FILE$, ".") THEN SHELL FILE$ ELSE SHELL "C:\BIN\" + FILE$
PRINT #1, "FILE RUN"
GOTO MAIN
ERRORCODE:
IF ERR = 0 THEN RETURN
PRINT "ERROR #"; ERR
PRINT #1, TIME$ + DATE$ + "OOPS! ERROR #"; ERR
IF ERR = 1 THEN
PRINT "NEXT W/OUT FOR"
GOTO ENDERR
END IF
IF ERR = 2 THEN
PRINT "NEVER FEAR"
PRINT "IT'S OK"
PRINT "CHECK YOUR SPELLING."
GOTO ENDERR
END IF
IF ERR = 3 THEN
PRINT "YOU CANNOT RETURN UNLESS YOU GO."
PRINT "RETURN W/OUT GOSUB"
GOTO ENDERR
END IF
IF ERR = 4 THEN
PRINT "IF YOU GIVE A MAN AN OS HE CAN DO HIS WORK FOR A YEAR."
PRINT "IF YOU MAKE A MAN AN OS HE'LL RUN OUT OF DATA."
GOTO ENDERR
END IF
IF ERR = 5 THEN
PRINT "YOUR PROGRAM HAS PERFORMED AN ILLEGAL FUNCTION."
PRINT "HE'S JUST ON PAROLE."
PRINT "ILLEGAL FUNCTION CALL"
GOTO ENDERR
END IF
IF ERR = 6 THEN
PRINT "IF YOU POUR YOUR LIFE INTO A PROGRAM, BE AWARE,"
PRINT "YOU SEEM PRONE TO OVERFLOWS."
GOTO ENDERR
END IF
IF ERR = 7 THEN
PRINT "ASK YOUR DOCTOR TO PRESCRBE GINKO BALOBA TO THIS OS."
PRINT "IT IS OUT OF MEMORY."
GOTO ENDERR
END IF
IF ERR = 8 THEN
PRINT "DO YOU LIKE THINGS CLEARLY LABELED,"
PRINT "BECAUSE YOUR PROGRAM ISN'T."
GOTO ENDERR
END IF
IF ERR = 9 THEN
PRINT "WHY SHOOT WHEN YOU CAN'T HIT?"
PRINT "SUBSCRIPT OUT OF RANGE."
GOTO ENDERR
END IF
IF ERR = 10 THEN
PRINT "DO YOU APPROVE OF CLONING?"
PRINT "BECAUSE SOMEONE DID IT TO YOUR DEFINITIONS."
PRINT "DUPLICATE DEFINITION."
GOTO ENDERR
END IF
IF ERR = 11 THEN
PRINT "YOUR QUESTION: A/0=?"
PRINT "YOUR ANSWER: UNKNOWN."
GOTO ENDERR
END IF
IF ERR = 12 THEN
PRINT "ILLEGAL IN DIRECT MODE"
GOTO ENDERR
END IF
IF ERR = 13 THEN
PRINT "CHECK YOUR MANUAL. SOMETHING ISN'T RIGHT."
PRINT "TYPE MISMATCH."
GOTO ENDERR
END IF
IF ERR = 14 THEN
PRINT "SPACE TOO SMALL. STRING TOO BIG. IT MUST BE A REALLY BIG STRING."
GOTO ENDERR
END IF
IF ERR = 16 THEN
PRINT "STRING FORMULA TOO COMPLEX."
GOTO ENDERR
END IF
IF ERR = 17 THEN
PRINT "PRESS ANY KEY NOT TO CONTINUE."
PRINT "CANNOT CONTINUE."
GOTO ENDERR
END IF
IF ERR = 18 THEN
PRINT "NEXT TIME DEFINE ALL YOUR FUNCTIONS."
GOTO ENDERR
END IF
IF ERR = 19 THEN
PRINT "NO RESUME."
GOTO ENDERR
END IF
IF ERR = 20 THEN
PRINT "WHY RESUME W/OUT AN ERROR?"
GOTO ENDERR
END IF
IF ERR = 24 THEN
PRINT "AL RIGHT, DEVICE! GO IN THE CORNER!"
PRINT "DEVICE TIMEOUT."
GOTO ENDERR
END IF
IF ERR = 25 THEN
PRINT "DON'T BLAME ME!"
PRINT "DEVICE FAULT."
GOTO ENDERR
END IF
IF ERR = 26 THEN
PRINT "YOU CAN'T DO THE NEXT LOOP W/OUT A REASON."
PRINT "FOR W/OUT NEXT"
GOTO ENDERR
END IF
IF ERR = 27 THEN
PRINT "TO NO AVAIL YOU TRY TO LPRINT."
PRINT "THE MESSAGE: PRINTER OUT OF PAPER."
GOTO ENDERR
END IF
IF ERR = 29 THEN
PRINT "WHILE W/OUT WEND."
GOTO ENDERR
END IF
IF ERR = 30 THEN
PRINT "WEND W/OUT WHILE."
GOTO ENDERR
END IF
IF ERR = 33 THEN
PRINT "DO YOU APPROVE OF CLONING?"
PRINT "BECAUSE SOMEONE DID IT TO YOUR LABEL."
GOTO ENDERR
END IF
IF ERR = 35 THEN
PRINT "SUB NOT DEFINED."
PRINT "MAKE A LITTLE CLEARER NEXT TIME."
GOTO ENDERR
END IF
IF ERR = 37 THEN
PRINT "ARGUMENT COUNT MISMATCH."
GOTO ENDERR
END IF
IF ERR = 38 THEN
PRINT "ARRAY NOT DEFINED."
PRINT "MAKE A LITTLE CLEARER NEXT TIME."
GOTO ENDERR
END IF
IF ERR = 40 THEN
PRINT "VARIABLE REQUIRED."
GOTO ENDERR
END IF
IF ERR = 50 THEN
PRINT "IT MUST HAVE RAINED PRETTY HARD."
PRINT "FIELD OVERFLOW."
GOTO ENDERR
END IF
IF ERR = 51 THEN
PRINT "FATAL ERROR:"
PRINT "CHAOS REIGNS WITHIN."
PRINT "REFRAIN, REPENT, REBOOT."
PRINT "ORDER SHALL BE RESTORED."
SLEEP X
GOTO BOOT
END IF
IF ERR = 52 THEN
PRINT "CANNOT MAKE/OPEN FILE."
PRINT "BAD FILE NAME/NUMBER."
GOTO ENDERR
END IF
IF ERR = 53 THEN
PRINT "INSTEAD IF A NOISY BEEP OR A RUDE ERROR MESSAGE I GIVE YOU THIS:"
PRINT "FILE NOT FOUND."
GOTO ENDERR
END IF
IF ERR = 54 THEN
PRINT "BAD FILE MODE. CHANGE THE PLACING OF YOUR LINK."
GOTO ENDERR
END IF
IF ERR = 55 THEN
PRINT "OLD CHINESE SAYING SAY: NEVER OPEN SAME FILE TWICE WITHOUT CLOSING IT FIRST."
GOTO ENDERR
END IF
IF ERR = 56 THEN
PRINT "FIELD ACTIVE."
GOTO ENDERR
END IF
IF ERR = 57 THEN
PRINT "DEVICE I/O ERROR."
GOTO ENDERR
END IF
IF ERR = 58 THEN
PRINT "THIS FILE ALREADY EXISTS."
GOTO ENDERR
END IF
IF ERR = 59 THEN
PRINT "BAD RECORD LENGTH: ESPECIALLY THAT OLDIES ALBUM."
GOTO ENDERR
END IF
IF ERR = 60 THEN
PRINT "DISK FULL (OF ****)"
GOTO ENDERR
END IF
IF ERR = 62 THEN
PRINT "INPUT PAST END OF FILE."
GOTO ENDERR
END IF
IF ERR = 63 THEN
PRINT "BAD RECORD NUMBER."
GOTO ENDERR
END IF
IF ERR = 64 THEN
PRINT "BAD FILE NAME."
GOTO ENDERR
END IF
IF ERR = 67 THEN
PRINT "TOO MANY FILES."
GOTO ENDERR
END IF
IF ERR = 68 THEN
PRINT "DEVICE UNAVAILABLE."
PRINT "PLEASE LEAVE YOUR NAME AND NUMBER AT THE BEEP."
BEEP
GOTO ENDERR
END IF
IF ERR = 69 THEN
PRINT "COMMUNICATIONS BUFFER OVERFLOW."
GOTO ENDERR
END IF
IF ERR = 70 THEN
PRINT "WHETHER CRACKER OR ROOT, MOD OR ADMIN,"
PRINT "PERMISSION DENIED: NO ONE COMES IN."
GOTO ENDERR
END IF
IF ERR = 71 THEN
PRINT "DISK NOT READY."
GOTO ENDERR
END IF
IF ERR = 72 THEN
PRINT "DISK MEDIA ERROR."
GOTO ENDERR
END IF
IF ERR = 73 THEN
PRINT "FEATURE UNAVAILABLE."
GOTO ENDERR
END IF
IF ERR = 74 THEN
PRINT "RENAME ACROSS DISKS. BIG NO-NO."
GOTO ENDERR
END IF
IF ERR = 75 THEN
PRINT "PATH/FILE ACCESS ERROR."
GOTO ENDERR
IF ERR = 76 THEN
PRINT "PATH NOT FOUND."
FILE2$ = FILE4$
GOTO ENDERR
END IF
ENDERR:
PRINT "1.RESUME"
PRINT "2.RESUME NEXT"
PRINT "3.REBOOT"
PRINT "4.EXIT"
INPUT RES
IF RES = 1 THEN RESUME
IF RES = 2 THEN RESUME NEXT
IF RES = 3 THEN RESET: OUT &H64, &HFE
IF RES = 4 THEN SYSTEM
ELSE RESUME NEXT
END IF

 
 Respond to this message   
Response TitleAuthorDate
 P.S. Jun 6, 2002
 *What's it for?IainJun 6, 2002
  *it's a shell Jun 8, 2002