home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
AR_LM15.ZIP
/
MATRIX.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-19
|
8KB
|
519 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
;------------------------------------------------------------------------------
:LABEL001
FOpen 2, PPEPath() + "MATRIX.CFG", 0, 0
FGet 2, STRING013
FGet 2, STRING014
FGet 2, STRING015
FGet 2, STRING016
FGet 2, STRING017
FGet 2, INTEGER005
FGet 2, INTEGER006
FGet 2, STRING031
FGet 2, STRING032
FGet 2, STRING009
FGet 2, STRING010
FGet 2, STRING012
FGet 2, STRING026
FGet 2, INTEGER008
FGet 2, INTEGER009
FGet 2, INTEGER002
FGet 2, INTEGER003
FGet 2, STRING019
FGet 2, STRING018
FGet 2, STRING033
FGet 2, STRING029
FGet 2, STRING030
FGet 2, STRING025
FGet 2, STRING034
FGet 2, STRING037
FGet 2, STRING035
FGet 2, STRING038
FGet 2, STRING036
FGet 2, STRING039
FGet 2, STRING005
FGet 2, STRING002
FGet 2, STRING003
FGet 2, STRING004
FClose 2
Cls
AnsiPos 1, 1
DispFile PPEPath() + "MATRIX.ANS", 0
INTEGER007 = 0
STRING020 = StripAtx(STRING013)
AnsiPos INTEGER005, INTEGER006
PrintLn STRING032 + STRING020 + STRING031
AnsiPos INTEGER005, INTEGER006 + 1
PrintLn STRING014
AnsiPos INTEGER005, INTEGER006 + 2
PrintLn STRING015
AnsiPos INTEGER005, INTEGER006 + 3
PrintLn STRING016
AnsiPos INTEGER005, INTEGER006 + 4
PrintLn STRING017
INTEGER004 = 1
:LABEL002
If (FALSE) Goto LABEL003
STRING028 = Inkey()
If (STRING028 == "a") Goto LABEL004
If (STRING028 == "z") Goto LABEL005
If ((STRING028 == "UP") || (STRING028 == "LEFT")) Goto LABEL004
If (((STRING028 == "DOWN") || (STRING028 == "RIGHT")) || (STRING028 == " ")) Goto LABEL005
If (STRING028 == Chr(13)) Goto LABEL012
Goto LABEL002
:LABEL003
End
:LABEL004
INTEGER004 = INTEGER004 - 1
Goto LABEL006
End
:LABEL005
INTEGER004 = INTEGER004 + 1
Goto LABEL006
End
:LABEL006
If (INTEGER004 < "1") INTEGER004 = 5
If (INTEGER004 > "5") INTEGER004 = 1
If (INTEGER004 == "0") Goto LABEL007
If (INTEGER004 == "1") Goto LABEL007
If (INTEGER004 == "2") Goto LABEL008
If (INTEGER004 == "3") Goto LABEL009
If (INTEGER004 == "4") Goto LABEL010
If (INTEGER004 == "5") Goto LABEL011
End
:LABEL007
AnsiPos INTEGER005, INTEGER006
Print STRING032 + STRING020
AnsiPos INTEGER005, INTEGER006 + 1
Print STRING031 + STRING014
AnsiPos INTEGER005, INTEGER006 + 4
Print STRING031 + STRING017
AnsiPos 1, 1
Goto LABEL002
End
:LABEL008
STRING021 = StripAtx(STRING014)
AnsiPos INTEGER005, INTEGER006 + 1
Print STRING032 + STRING021
AnsiPos INTEGER005, INTEGER006
Print STRING031 + STRING013
AnsiPos INTEGER005, INTEGER006 + 2
Print STRING031 + STRING015
AnsiPos 1, 1
Goto LABEL002
End
:LABEL009
AnsiPos INTEGER005, INTEGER006 + 1
Print STRING031 + STRING014
STRING022 = StripAtx(STRING015)
AnsiPos INTEGER005, INTEGER006 + 2
Print STRING032 + STRING022
AnsiPos INTEGER005, INTEGER006 + 3
Print STRING031 + STRING016
AnsiPos 1, 1
Goto LABEL002
End
:LABEL010
STRING023 = StripAtx(STRING016)
AnsiPos INTEGER005, INTEGER006 + 3
Print STRING032 + STRING023
AnsiPos INTEGER005, INTEGER006 + 4
Print STRING031 + STRING017
AnsiPos INTEGER005, INTEGER006 + 2
Print STRING031 + STRING015
AnsiPos 1, 1
Goto LABEL002
End
:LABEL011
STRING024 = StripAtx(STRING017)
AnsiPos INTEGER005, INTEGER006 + 4
Print STRING032 + STRING024
AnsiPos INTEGER005, INTEGER006
Print STRING031 + STRING013
AnsiPos INTEGER005, INTEGER006 + 3
Print STRING031 + STRING016
AnsiPos 1, 1
Goto LABEL002
End
:LABEL012
If (INTEGER004 == "1") Goto LABEL013
If (INTEGER004 == "2") Goto LABEL020
If (INTEGER004 == "3") Goto LABEL023
If (INTEGER004 == "4") Goto LABEL030
If (INTEGER004 == "5") Goto LABEL035
End
:LABEL013
Cls
If (STRING009 == "0") Goto LABEL015
If (STRING009 <> "0") Goto LABEL014
End
:LABEL014
Cls
DispFile PPEPath() + "SYS-PASS.ANS", 0
AnsiPos INTEGER008, INTEGER009
InputStr "_", STRING006, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 1 + 8
If (STRING006 == Chr(13)) Goto LABEL001
If (STRING006 <> STRING009) Goto LABEL001
If (STRING006 == STRING009) Goto LABEL015
End
:LABEL015
DispFile PPEPath() + "WELCOME.ANS", 0
Newline
Wait
Cls
DispFile PPEPath() + "LOGON.ANS", 0
AnsiPos STRING034, STRING037
InputStr "_", STRING008, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8
If (STRING008 == "") Goto LABEL001
If (STRING008 <> "") Then
INTEGER001 = U_RecNum(STRING008)
GetAltUser INTEGER001
AnsiPos STRING036, STRING039
Print U_City
AnsiPos STRING035, STRING038
InputStr "_", STRING001, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8 + 1
If (U_Sec < STRING025) Goto LABEL027
If (U_Sec == 0) Goto LABEL037
If (U_Pwd == STRING001) Goto LABEL017
If (U_Pwd <> STRING001) Goto LABEL016
End
:LABEL016
Cls
DispFile PPEPath() + "NOTVALID.ANS", 0
Wait
Goto LABEL001
Endif
:LABEL017
STRING027 = InStr(STRING008, Chr(32))
If (STRING027 == 0) Goto LABEL018
If (STRING027 <> 0) Goto LABEL019
:LABEL018
Cls
PrintLn " @X0FL@X0Bi@X03G@X08HTNiNG <@X0FMATRiX@X08> BY <@X0F/┤ReS@X08> (@X0Fc@X08) 1994 <@X0F/┤WoL@X08> PRODUCTi@X03O@X0BN@X0FS@X07"
Newline
KbdStuff STRING008 + " " + STRING001 + Chr(13)
End
:LABEL019
Cls
PrintLn " @X0FL@X0Bi@X03G@X08HTNiNG <@X0FMATRiX@X08> BY <@X0F/┤ReS@X08> (@X0Fc@X08) 1994 <@X0F/┤WoL@X08> PRODUCTi@X03O@X0BN@X0FS@X07"
Newline
KbdStuff STRING008 + Chr(13) + STRING001 + Chr(13)
End
:LABEL020
Cls
AnsiPos 1, 3
If (STRING010 == "0") Goto LABEL022
If (STRING010 <> "0") Goto LABEL021
End
:LABEL021
DispFile PPEPath() + "NUP.ANS", 0
AnsiPos INTEGER002, INTEGER003
InputStr "_", STRING007, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 1 + 8
If (STRING007 <> STRING010) Goto LABEL001
If (STRING007 == STRING010) Goto LABEL022
End
:LABEL022
DispFile PPEPath() + "APPLY.ANS", 0
Newline
InputStr STRING012 + "_", STRING008, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8
If (STRING008 == "") Goto LABEL001
If (STRING008 <> "") Then
Endif
INTEGER007 = U_RecNum(STRING008)
If (INTEGER007 <> -1) Then
Cls
DispFile PPEPath() + "DUPED.ANS", 0
Hangup
Endif
If (INTEGER007 == -1) Then
KbdStuff STRING008 + Chr(13)
Endif
End
:LABEL023
Cls
AnsiPos 1, 3
InputStr STRING012 + "_", STRING008, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8
If (STRING008 == Chr(13)) Goto LABEL001
If (STRING008 <> Chr(13)) Goto LABEL024
End
:LABEL024
INTEGER007 = U_RecNum(STRING008)
Newline
Print STRING005
Delay 7
If (INTEGER007 == -1) Goto LABEL036
If (INTEGER007 <> -1) Then
Print " " + STRING004
Newline
InputStr STRING026 + "_", STRING001, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8 + 1
INTEGER001 = U_RecNum(STRING008)
GetAltUser INTEGER001
If (STRING001 <> U_Pwd) Goto LABEL001
If (STRING001 == U_Pwd) Goto LABEL025
Endif
End
:LABEL025
INTEGER001 = U_RecNum(STRING008)
GetAltUser INTEGER001
Newline
Print STRING002
Delay 7
If (U_Sec == "0") Goto LABEL037
If (U_Sec <> "0") Goto LABEL026
End
:LABEL026
Print " " + STRING004
Newline
Print STRING003
Delay 7
INTEGER001 = U_RecNum(STRING008)
GetAltUser INTEGER001
If (U_Sec < STRING025) Goto LABEL027
If (U_Sec >= STRING025) Print " " + STRING004
Goto LABEL028
End
:LABEL027
Cls
DispFile PPEPath() + "NOTVALID.ANS", 0
Newline
Wait
Goto LABEL001
End
:LABEL028
DispFile PPEPath() + "VALID.ANS", 0
Newline
PrintLn STRING018 + " " + STRING009
Newline
InputStr STRING033 + "_", STRING011, 15, 1, "YNyn", 8
If ((STRING011 == "n") || (STRING011 == "N")) Then
Goto LABEL001
Endif
If ((STRING011 == "y") || (STRING011 == "Y")) Then
Goto LABEL029
Endif
End
:LABEL029
DispFile PPEPath() + "WELCOME.ANS", 0
Newline
KbdStuff STRING008 + Chr(13)
End
:LABEL030
Cls
AnsiPos 1, 1
DispFile PPEPath() + "FEEDBACK.ANS", 0
Newline
PrintLn " @X08To:@X0F " + STRING029
InputStr "@X08From: _", STRING008, 15, 40, " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=\!@#$%^&*()_+|,./?:", 8
Cls
AnsiPos 1, 1
PrintLn "@X07@X0F┌─┐─@X07┬─∙@X08─∙ ∙ ∙ ∙ ∙─@X07─┬@X0F─┌─┐"
PrintLn "└─@X07┼───@X08─@X07─@X08─────────────────────────────────────────────────────────────────@X07──┼@X0F─┘"
PrintLn "@X07├@X08─│─┘ L@X07iG@X0FHTN@X07iN@X08G M@X07A@X0FTR@X07i@X08X └─:@X07─┤"
PrintLn "@X08│ : By AReS [AWoL] (c) 1994 Reality PPE's All Rights Are Lost . │"
PrintLn "@X0F @X08Press '/S' Alone to Save '/A' To Abort"
PrintLn "──────────────────────────────────────────────────────────────────────────────"
STRING042 = PPEPath() + "FEEDBACK"
FCreate 3, STRING042, 1, 2
:LABEL031
If (FALSE) Goto LABEL032
STRING040 = ""
STRING041 = " 0123456789!@#$%^&*()-=_+`~qwertyuiop[]\|asdfghjkl;'zxcvbnm,./<>?:{}QWERTYUIOPASDFGHJKLZXCVBNM"
InputStr "_", STRING040, 15, 78, STRING041, 512
FreshLine
If ((STRING040 == "/s") || (STRING040 == "/S")) Goto LABEL033
If ((STRING040 == "/a") || (STRING040 == "/A")) Goto LABEL034
FPutLn 3, STRING040
Goto LABEL031
:LABEL032
End
:LABEL033
PrintLn ""
PrintLn "@X08S@X07A@X0FV@X07iN@X08G..."
FPutLn 3, ""
FPutLn 3, "@X08L@X07iG@X0FHTN@X07iN@X08G M@X07A@X0FTR@X07i@X08X F@X07EE@X0FDB@X07AC@X08K "
FClose 3
Message CurConf(), STRING029, STRING008, "──═[MATRiX FEEDBaCK]═──", STRING030, 0, 0, 0, STRING042
Delete STRING042
Goto LABEL001
End
:LABEL034
Delete STRING042
Goto LABEL001
End
:LABEL035
Hangup
End
:LABEL036
DispFile PPEPath() + "NOTUSER.ANS", 0
Wait
Goto LABEL001
End
Cls
Chat
Goto LABEL001
End
:LABEL037
Cls
AnsiPos 1, 1
DispFile PPEPath() + "LOCKOUT.ANS", 0
Delay 15
Hangup
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 32 End
; 15 Cls
; 4 Wait
; 70 Goto
; 22 Let
; 22 Print
; 17 PrintLn
; 55 If
; 14 DispFile
; 1 FCreate
; 1 FOpen
; 2 FClose
; 33 FGet
; 3 FPutLn
; 3 Hangup
; 2 Delete
; 10 InputStr
; 4 Delay
; 13 Newline
; 4 KbdStuff
; 36 AnsiPos
; 1 FreshLine
; 1 Message
; 1 Chat
; 4 GetAltUser
;
;
; ■ Functions used :
;
; 4 -
; 72 +
; 1 -
; 42 ==
; 13 <>
; 3 <
; 1 >
; 1 >=
; 9 !
; 7 ||
; 10 Chr()
; 1 InStr()
; 5 StripAtx()
; 1 Inkey()
; 1 CurConf()
; 16 PPEPath()
; 6 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : RBH
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
; H - Read Password or Password History ■ 5
; Program is reading the user's password or last password history
; This may be ok for a password manager, but it is very suspect. Check!
; ■ Search for : U_PWDHIST, U_PWD
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 7 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------