home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
CIAFSUE3.ZIP
/
CIAFSUE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-27
|
12KB
|
672 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
;------------------------------------------------------------------------------
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Date DATE002
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
;------------------------------------------------------------------------------
STRING015 = " "
BOOLEAN006 = 1
BOOLEAN005 = 0
STRING011 = PPEPath() + "CIAFSUE.CNF"
STRING010 = ReadLine(STRING011, 1)
STRING016 = ReadLine(STRING011, 2)
STRING018 = ReadLine(STRING011, 3)
STRING017 = ReadLine(STRING011, 4)
STRING019 = ReadLine(STRING011, 5)
GetUser
STRING012 = U_Name()
INTEGER004 = U_Bdl()
INTEGER005 = U_Bul()
INTEGER006 = U_Ful()
INTEGER007 = U_Fdl()
DATE002 = DATE002
INTEGER008 = U_TimeOn()
If (STRING010 >= U_Sec) Goto LABEL001
PrintLn "@X0F[@X07@X87Security Violation @X0F■ @X87Exiting CiA Full Screen User Editor @X0F]"
Goto LABEL030
:LABEL001
PrintLn "@CLS@"
PrintLn "@X0F @X0D■@X07■@X0F■ @X07CiA Full Screen User Editor v2.0 by Defcon 4 [Ci/┤] @X0F■@X07■@X0D■"
PrintLn "@X05┌───────────────────────────────┤@X07User Number @X08[ @X08]@X05├───────────────────────────┐"
PrintLn "│ @X07[@X0FA@X07] Handle @X08[ ]@X05│@X07[@X0FL@X07] Security @X08[ ] @X05│"
PrintLn "│ @X07[@X0FB@X07] Address @X08[ ]@X05│@X07[@X0FM@X07] Expired Sec. @X08[ ] @X05│"
PrintLn "│ @X07[@X0FC@X07] City @X08[ ]@X05│@X07[@X0FN@X07] Reg. Ex. Date@X08[ ] @X05│"
PrintLn "│ @X07[@X0FD@X07] State @X08[ ]@X05│@X07[@X0FO@X07] # of U/Ls @X08[ ] @X05│"
PrintLn "│ @X07[@X0FE@X07] User Note @X08[ ]@X05│@X07[@X0FP@X07] # of D/Ls @X08[ ] @X05│"
PrintLn "│ @X07[@X0FF@X07] Voice Phone@X08[ ]@X05│@X07[@X0FR@X07] Bytes U/L @X08[ ] @X05│"
PrintLn "│ @X07[@X0FG@X07] Data Phone @X08[ ]@X05│@X07[@X0FS@X07] Bytes D/L @X08[ ] @X05│"
PrintLn "│ @X07[@X0FH@X07] Expert Mode@X08[ ]@X05│@X07[@X0FT@X07] File Ratio @X08[ ] @X05│"
PrintLn "│ @X07[@X0FI@X07] Protocol @X08[ ]@X05│@X07[@X0FU@X07] Byte Ratio @X08[ ] @X05│"
PrintLn "│ @X07[@X0FJ@X07] Page Length@X08[ ]@X05│@X07[@X0FV@X07] Full Screen @X08[ ] @X05│"
PrintLn "│ @X07[@X0FK@X07] Real Name @X08[ ]@X05│@X07[@X0FW@X07] Password @X08[ ] @X05│"
PrintLn "├──────────────────────────────────────┴──────────────────────────────────────┤"
PrintLn "│ @X07[@X0FX@X07] Comment 1 @X08[ ] @X05│"
PrintLn "│ @X07[@X0FY@X07] Comment 2 @X08[ ] @X05│"
PrintLn "└─────────────────────────────────────────────────────────────────────────────┘"
PrintLn " @X07 [@X0FA-X@X07] Edit Field [@X0F+@X07] Next User [@X0F-@X07] Previous User [@X0F=@X07] User Jump [@X0FQ@X07]uit"
PrintLn " [@X0F*@X07] Auto Validate [@X0F%@X07] SysOp Sec. [@X0F!@X07] Lock Out [@X0F?@X07] Name Search"
:LABEL002
AnsiPos 47, 3
Print U_RecNum(U_Name())
AnsiPos 19, 4
Print U_Name()
AnsiPos 19, 5
Print U_Addr(0)
AnsiPos 19, 6
Print U_Addr(2)
AnsiPos 19, 7
Print U_Addr(3)
AnsiPos 19, 8
Print U_City
AnsiPos 19, 9
Print U_HVPhone
AnsiPos 19, 10
Print U_BDPhone
AnsiPos 19, 11
If (U_Expert == 1) Print "Yes"
If (U_Expert == 0) Print "No "
AnsiPos 19, 12
Print U_Trans
AnsiPos 19, 13
Print U_PageLen
AnsiPos 19, 14
Print U_Ver
AnsiPos 19, 16
Print U_Cmnt1
AnsiPos 19, 17
Print U_Cmnt2
AnsiPos 59, 4
Print STRING015
AnsiPos 59, 4
Print U_Sec
AnsiPos 59, 5
Print U_ExpSec
AnsiPos 59, 6
Print U_ExpDate
AnsiPos 59, 7
Print INTEGER006
AnsiPos 59, 8
Print U_Fdl()
AnsiPos 59, 9
Print INTEGER005
AnsiPos 59, 10
Print U_Bdl()
AnsiPos 59, 11
Print "@FILERATIO@"
AnsiPos 59, 12
Print "@BYTERATIO@"
AnsiPos 59, 13
If (U_FSEP == 0) Then
If (U_FSE == 0) Print "No "
If (U_FSE == 1) Print "Yes"
Endif
If (U_FSEP == 1) Print "Ask"
AnsiPos 59, 14
Print U_Pwd
If (BOOLEAN005 == 1) Return
:LABEL003
If (BOOLEAN004) Goto LABEL030
STRING014 = ""
:LABEL004
STRING013 = Upper(Inkey())
If (STRING013 == "") Goto LABEL004
If (STRING013 == "A") Then
AnsiPos 19, 4
Print STRING015
AnsiPos 19, 4
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
STRING012 = STRING014
PutUser
Goto LABEL005
Endif
Endif
:LABEL005
If (STRING013 == "B") Then
AnsiPos 19, 5
Print STRING015
AnsiPos 19, 5
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Addr(0) = STRING014
PutUser
Goto LABEL006
Endif
Endif
:LABEL006
If (STRING013 == "C") Then
AnsiPos 19, 6
Print STRING015
AnsiPos 19, 6
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Addr(2) = STRING014
PutUser
Goto LABEL007
Endif
Endif
:LABEL007
If (STRING013 == "D") Then
AnsiPos 19, 7
Print STRING015
AnsiPos 19, 7
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Addr(3) = STRING014
PutUser
Goto LABEL008
Endif
Endif
:LABEL008
If (STRING013 == "E") Then
AnsiPos 19, 8
Print STRING015
AnsiPos 19, 8
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_City = STRING014
PutUser
Goto LABEL009
Endif
Endif
:LABEL009
If (STRING013 == "F") Then
AnsiPos 19, 9
Print STRING015
AnsiPos 19, 9
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_HVPhone = STRING014
PutUser
Goto LABEL010
Endif
Endif
:LABEL010
If (STRING013 == "G") Then
AnsiPos 19, 10
Print STRING015
AnsiPos 19, 10
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_BDPhone = STRING014
PutUser
Goto LABEL011
Endif
Endif
:LABEL011
If (STRING013 == "H") Then
AnsiPos 19, 11
BOOLEAN007 = 0
STRING013 = ""
:LABEL012
If (BOOLEAN007) Goto LABEL013
STRING013 = Upper(Inkey())
If (STRING013 == "Y") Then
U_Expert = 1
BOOLEAN007 = 1
PutUser
Endif
If (STRING013 == "N") Then
U_Expert = 0
BOOLEAN007 = 1
PutUser
Endif
Goto LABEL012
:LABEL013
STRING013 = ""
Endif
If (STRING013 == "I") Then
AnsiPos 19, 12
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
U_Trans = STRING014
PutUser
Endif
If (STRING013 == "J") Then
AnsiPos 19, 13
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
U_PageLen = STRING014
PutUser
Endif
If (STRING013 == "K") Then
AnsiPos 19, 14
Print STRING015
AnsiPos 19, 14
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Ver = STRING014
PutUser
Goto LABEL014
Endif
Endif
:LABEL014
If (STRING013 == "L") Then
AnsiPos 59, 4
Print STRING015
AnsiPos 59, 4
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Sec = STRING014
PutUser
Goto LABEL015
Endif
Endif
:LABEL015
If (STRING013 == "M") Then
AnsiPos 59, 5
Print STRING015
AnsiPos 59, 5
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_ExpSec = STRING014
PutUser
Endif
Endif
If (STRING013 == "N") Then
AnsiPos 59, 6
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
U_ExpDate = STRING014
PutUser
Endif
If (STRING013 == "O") Then
INTEGER011 = 59
INTEGER012 = 7
Gosub LABEL033
Endif
If (STRING013 == "P") Then
AnsiPos 59, 8
Print STRING015
AnsiPos 59, 8
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
INTEGER007 = STRING014 - INTEGER007
AdjTFiles INTEGER007
PutUser
Endif
Endif
If (STRING013 == "R") Then
INTEGER011 = 59
INTEGER012 = 9
Gosub LABEL033
Endif
If (STRING013 == "S") Then
AnsiPos 59, 10
Print STRING015
AnsiPos 59, 10
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
INTEGER004 = STRING014 - INTEGER004
AdjTBytes INTEGER004
PutUser
Endif
Endif
If (STRING013 == "T") Then
INTEGER011 = 59
INTEGER012 = 11
Gosub LABEL033
Endif
If (STRING013 == "U") Then
INTEGER011 = 59
INTEGER012 = 12
Gosub LABEL033
Endif
If (STRING013 == "V") Then
AnsiPos 59, 13
BOOLEAN007 = 0
STRING013 = ""
:LABEL016
If (BOOLEAN007) Goto LABEL017
STRING013 = Upper(Inkey())
If (STRING013 == "Y") Then
U_FSEP = 0
U_FSE = 1
PutUser
BOOLEAN007 = 1
Endif
If (STRING013 == "N") Then
U_FSEP = 0
U_FSE = 0
PutUser
BOOLEAN007 = 1
Endif
If (STRING013 == "A") Then
U_FSEP = 1
PutUser
BOOLEAN007 = 1
Endif
Goto LABEL016
:LABEL017
STRING013 = ""
Endif
If (STRING013 == "W") Then
AnsiPos 59, 14
Print STRING015
AnsiPos 59, 14
STRING014 = ""
InputStr "_", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Pwd = STRING014
PutUser
Goto LABEL018
Endif
Endif
:LABEL018
If (STRING013 == "X") Then
AnsiPos 19, 16
Print STRING015
Print STRING015
AnsiPos 19, 16
STRING014 = ""
InputStr "_", STRING014, 14, 40, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Cmnt1 = STRING014
PutUser
Endif
Endif
If (STRING013 == "Y") Then
AnsiPos 19, 17
Print STRING015
Print STRING015
AnsiPos 19, 17
STRING014 = ""
InputStr "_", STRING014, 14, 40, Mask_Ascii(), 2 + 4 + 4096
If (STRING014 <> "") Then
U_Cmnt2 = STRING014
PutUser
Endif
Endif
If (STRING013 == "+") Then
INTEGER009 = U_RecNum(U_Name())
INTEGER009 = INTEGER009 + 1
GetAltUser INTEGER009
If (CurUser() == -1) GetAltUser 1
BOOLEAN005 = 1
Gosub LABEL001
Endif
If (STRING013 == "-") Then
INTEGER009 = U_RecNum(U_Name())
INTEGER009 = INTEGER009 - 1
If (INTEGER009 <> 0) Then
GetAltUser INTEGER009
Goto LABEL019
Endif
GetAltUser 1
:LABEL019
BOOLEAN005 = 1
Gosub LABEL001
Endif
If (STRING013 == "=") Then
AnsiPos 21, 21
InputStr "Enter User Number to Jump To", STRING014, 14, 3, "1234567890", 2 + 4 + 4096
GetAltUser STRING014
If (CurUser() == -1) Gosub LABEL032
GetAltUser U_RecNum(STRING012)
BOOLEAN005 = 1
Gosub LABEL001
Endif
If (STRING013 == "!") Then
U_Sec = STRING017
PutUser
Endif
If (STRING013 == "*") Then
U_Sec = STRING018
PutUser
Endif
If (STRING013 == "%") Then
U_Sec = STRING016
PutUser
Endif
If (STRING013 == "?") Then
AnsiPos 4, 21
Print " "
AnsiPos 4, 21
STRING014 = ""
InputStr "Enter User Name to Jump To [LIST=List users]", STRING014, 14, 31, Mask_Ascii(), 2 + 4 + 4096 + 8
Select Case (STRING014)
Case "LIST"
PrintLn "@CLS@"
STRING014 = ""
InputStr "List [A]ll Users [N]ew Users [L]ocked Users or [S]ysops", STRING014, 14, 20, Mask_Ascii(), 2 + 4 + 4096 + 8
Newlines 2
If (STRING014 == "A") Then
INTEGER010 = 1
GetAltUser INTEGER010
STRING014 = ""
BOOLEAN007 = 0
:LABEL020
If (BOOLEAN007) Goto LABEL021
PrintLn U_Name()
INTEGER010 = INTEGER010 + 1
GetAltUser INTEGER010
If (CurUser() == -1) BOOLEAN007 = 1
Goto LABEL020
:LABEL021
Gosub LABEL031
Endif
If (STRING014 == "N") Then
INTEGER010 = 1
STRING014 = ""
GetAltUser INTEGER010
:LABEL022
If (BOOLEAN007) Goto LABEL023
If (U_Sec == STRING019) PrintLn U_Name()
INTEGER010 = INTEGER010 + 1
GetAltUser INTEGER010
If (CurUser() == -1) BOOLEAN007 = 1
Goto LABEL022
:LABEL023
Gosub LABEL031
Endif
If (STRING014 == "L") Then
INTEGER010 = 1
GetAltUser INTEGER010
BOOLEAN007 = 0
STRING014 = ""
:LABEL024
If (BOOLEAN007) Goto LABEL025
If (U_Sec == STRING017) PrintLn U_Name()
INTEGER010 = INTEGER010 + 1
GetAltUser INTEGER010
If (CurUser() == -1) BOOLEAN007 = 1
Goto LABEL024
:LABEL025
Gosub LABEL031
Endif
Case "S"
INTEGER010 = 1
GetAltUser INTEGER010
BOOLEAN007 = 0
STRING014 = ""
:LABEL026
If (BOOLEAN007) Goto LABEL027
If (U_Sec == STRING016) PrintLn U_Name()
INTEGER010 = INTEGER010 + 1
GetAltUser INTEGER010
If (CurUser() == -1) BOOLEAN007 = 1
Goto LABEL026
:LABEL027
Gosub LABEL031
End Select
If (STRING014 <> "") Then
INTEGER009 = U_RecNum(STRING014)
If (INTEGER009 <> "-1") Then
GetAltUser INTEGER009
BOOLEAN005 = 1
Gosub LABEL001
Goto LABEL028
Endif
Gosub LABEL032
BOOLEAN005 = 1
Gosub LABEL001
:LABEL028
Goto LABEL029
Endif
GetAltUser U_RecNum(STRING012)
BOOLEAN005 = 1
Gosub LABEL001
Endif
:LABEL029
If (STRING013 == "Q") BOOLEAN004 = 1
BOOLEAN005 = 1
Gosub LABEL002
Goto LABEL003
:LABEL030
AnsiPos 0, 23
End
:LABEL031
STRING014 = ""
Newlines 1
InputStr "Enter User Name to Jump To", STRING014, 14, 40, Mask_Ascii(), 2 + 4 + 4096 + 8
Return
:LABEL032
AnsiPos 26, 22
Print "Invalid User"
Delay 15
AnsiPos 26, 22
Print STRING015
GetAltUser U_RecNum(STRING012)
Return
:LABEL033
AnsiPos INTEGER011, INTEGER012
Print "Unchangable Field"
Delay 15
AnsiPos INTEGER011, INTEGER012
Print STRING015
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 90 Goto
; 116 Let
; 51 Print
; 26 PrintLn
; 85 If
; 1 GetUser
; 26 PutUser
; 22 InputStr
; 17 Gosub
; 4 Return
; 2 Delay
; 2 Newlines
; 69 AnsiPos
; 17 GetAltUser
; 1 AdjTBytes
; 1 AdjTFiles
;
;
; ■ Functions used :
;
; 6 -
; 53 +
; 3 -
; 59 ==
; 18 <>
; 1 >=
; 67 !
; 3 Upper()
; 9 U_Name()
; 1 U_Ful()
; 2 U_Fdl()
; 1 U_TimeOn()
; 2 U_Bdl()
; 1 U_Bul()
; 3 Inkey()
; 21 Mask_Ascii()
; 1 PPEPath()
; 5 ReadLine()
; 7 U_RecNum()
; 6 CurUser()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WRaH
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; 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
;
; a - Adjust ratio ■ 4
; User's ratio is adjusted by changing the amount of files/bytes
; uploaded. This may be normal for a user editor.
; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
;
; 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
; 58 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------