home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
STP_CHNG.ZIP
/
CHANGE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-03-25
|
7KB
|
513 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN007
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
;------------------------------------------------------------------------------
Cls
DispFile PPEPath() + "CHANGE.ANS", 0
GetUser
AnsiPos 37, 9
Print "@X07@USER@"
AnsiPos 37, 10
Print "@X07" + U_Sec
AnsiPos 37, 13
Print "@X08■■■■■■■■■■■■■■■"
AnsiPos 37, 12
Print "@X07" + U_City
AnsiPos 37, 14
Print "@X07" + U_BDPhone
AnsiPos 37, 15
Print "@X07" + U_HVPhone
:LABEL001
Print "@X07"
STRING011 = ""
STRING010 = ""
INTEGER003 = ""
STRING007 = ""
STRING008 = ""
AnsiPos 13, 17
:LABEL002
If (0) Goto LABEL003
STRING009 = Inkey()
STRING009 = Lower(STRING009)
If (STRING009 == "1") Goto LABEL005
If (STRING009 == "2") Goto LABEL009
If (STRING009 == "3") Goto LABEL004
If (STRING009 == "4") Goto LABEL007
If (STRING009 == "5") Goto LABEL016
If (STRING009 == "6") Goto LABEL018
If (STRING009 == "q") Goto LABEL021
If (STRING009 == "Q") Goto LABEL021
Goto LABEL002
:LABEL003
End
:LABEL004
INTEGER001 = "37"
INTEGER002 = "12"
STRING011 = U_City
INTEGER004 = 24
STRING006 = ""
INTEGER003 = Len(STRING011)
AnsiPos INTEGER001, INTEGER002
Print Space(INTEGER003 + 1)
AnsiPos INTEGER001, INTEGER002
InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii(), 8 + 4096
If (STRING006 == "") Then
AnsiPos 37, 12
Print " "
AnsiPos 37, 12
Print U_City
Goto LABEL008
If (((Upper(U_PwdHist(1)) == Upper(STRING006)) || (Upper(U_PwdHist(2)) == Upper(STRING006))) || (Upper(U_PwdHist(3)) == Upper(STRING006))) Then
AnsiPos 37, 13
Print "@X0CCannot Use Previous Password"
Delay 20
AnsiPos 37, 13
Print "@X08■■■■■■■■■■■■■■■"
Goto LABEL001
Endif
:LABEL005
AnsiPos 37, 9
Print " "
AnsiPos 37, 9
Print "@X0CFUNCTION DISABLED!@X00"
Delay 25
AnsiPos 37, 9
Print " "
AnsiPos 37, 9
Print "@X07@USER@@X00"
Goto LABEL001
U_Pwd = STRING006
Goto LABEL001
:LABEL006
Cls
STRING006 = ""
STRING007 = ""
STRING008 = ""
If (STRING012 == "PORT1F") Then
STRING012 = "COM1:"
Endif
If (STRING012 == "PORT2F") Then
STRING012 = "COM2:"
Endif
If (STRING012 == "PORT3F") Then
STRING012 = "COM3:"
Endif
If (STRING012 == "PORT4F") Then
STRING012 = "COM4:"
Endif
InputStr "_", STRING007, 14, 127, Mask_Ascii(), 8 + 4096
STRING008 = STRING012 + " /T:500 /B:MZ /V:D /C:DOS"
Shell 0, STRING006, STRING007, STRING008
End
:LABEL007
INTEGER001 = "37"
INTEGER002 = "13"
STRING011 = U_Pwd
INTEGER004 = 14
INTEGER003 = Len(STRING011)
AnsiPos INTEGER001, INTEGER002
Print U_Pwd + " "
AnsiPos INTEGER001, INTEGER002
STRING006 = ""
InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii(), 8 + 4096
If (STRING006 == "U_FSEP") Goto LABEL006
U_Pwd = STRING006
AnsiPos 37, 13
Print "@X08■■■■■■■■■■■■■■■"
Goto LABEL001
Endif
U_City = STRING006
:LABEL008
Goto LABEL001
:LABEL009
AnsiPos 37, 10
Print " "
AnsiPos 37, 10
Print "@X0CFUNCTION DISABLED!@X00"
Delay 30
AnsiPos 37, 10
Print " "
AnsiPos 37, 10
Print "@X07@SECURITY@@X00"
Goto LABEL001
BOOLEAN007 = 0
STRING012 = ""
STRING013 = ""
STRING014 = ""
INTEGER001 = "18"
INTEGER002 = "6"
STRING011 = U_BDPhone
INTEGER004 = 12
INTEGER003 = Len(STRING011)
AnsiPos INTEGER001, INTEGER002
Print Space(INTEGER003 + 1)
AnsiPos INTEGER001, INTEGER002
Print "("
:LABEL010
If (BOOLEAN007) Goto LABEL011
STRING015 = Inkey()
If ((STRING015 == Chr(8)) && (Len(STRING012) > 0)) Then
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING012 = Mid(STRING012, 1, Len(STRING012) - 1)
Endif
If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
STRING012 = STRING012 + STRING015
Print STRING015
Endif
If (Len(STRING012) == 3) Goto LABEL011
Goto LABEL010
:LABEL011
Print ")"
BOOLEAN007 = 0
STRING015 = ""
If (BOOLEAN007) Goto LABEL012
STRING015 = Inkey()
If ((STRING015 == Chr(8)) && (Len(STRING013) > 0)) Then
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING013 = Mid(STRING013, 1, Len(STRING013) - 1)
Endif
If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
STRING013 = STRING013 + STRING015
Print STRING015
Endif
If (Len(STRING013) == 3) Goto LABEL012
Goto LABEL004
:LABEL012
Print "-"
BOOLEAN007 = 0
STRING015 = ""
:LABEL013
If (BOOLEAN007) Goto LABEL014
STRING015 = Inkey()
If (!((STRING015 == Chr(8)) && (Len(STRING014) > 0))) Goto LABEL007
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING014 = Mid(STRING014, 1, Len(STRING014) - 1)
If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
STRING014 = STRING014 + STRING015
Print STRING015
Endif
If (Len(STRING014) == 4) Goto LABEL014
Goto LABEL013
:LABEL014
BOOLEAN007 = 0
STRING015 = ""
U_BDPhone = "(" + STRING012 + ")" + STRING013 + "-" + STRING014
Goto LABEL001
BOOLEAN007 = 0
STRING012 = ""
STRING013 = ""
STRING014 = ""
INTEGER001 = "18"
INTEGER002 = "7"
STRING011 = U_HVPhone
INTEGER004 = 12
INTEGER003 = Len(STRING011)
AnsiPos INTEGER001, INTEGER002
Print Space(INTEGER003 + 1)
AnsiPos INTEGER001, INTEGER002
Print "("
:LABEL015
If (BOOLEAN007) Goto LABEL017
STRING015 = Inkey()
If ((STRING015 == Chr(8)) && (Len(STRING012) > 0)) Then
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING012 = Mid(STRING012, 1, Len(STRING012) - 1)
Endif
:LABEL016
AnsiPos 37, 14
Print " "
AnsiPos 37, 14
Print "@X0CFUNCTION DISABLED!@X00"
Delay 25
AnsiPos 37, 14
Print " @X07"
AnsiPos 37, 14
Print "@DATAPHONE@" + "@X07"
Goto LABEL001
If (Len(STRING012) == 3) Goto LABEL017
Goto LABEL015
:LABEL017
Print ")"
BOOLEAN007 = 0
STRING015 = ""
If (BOOLEAN007) Goto LABEL019
STRING015 = Inkey()
If ((STRING015 == Chr(8)) && (Len(STRING013) > 0)) Then
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING013 = Mid(STRING013, 1, Len(STRING013) - 1)
Endif
If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
STRING013 = STRING013 + STRING015
Print STRING015
Endif
:LABEL018
AnsiPos 37, 15
Print " "
AnsiPos 37, 15
Print "@X0CFUNCTION DISABLED!@X00"
Delay 25
AnsiPos 37, 15
Print " @X07"
AnsiPos 37, 15
Print "@HOMEPHONE@" + "@X07"
Goto LABEL001
:LABEL019
Print "-"
BOOLEAN007 = 0
STRING015 = ""
:LABEL020
If (BOOLEAN007) Goto LABEL021
STRING015 = Inkey()
If ((STRING015 == Chr(8)) && (Len(STRING014) > 0)) Then
INTEGER001 = GetX()
INTEGER002 = GetY()
INTEGER001 = INTEGER001 - 1
AnsiPos INTEGER001, INTEGER002
Print Space(1)
AnsiPos INTEGER001, INTEGER002
STRING014 = Mid(STRING014, 1, Len(STRING014) - 1)
Endif
If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
STRING014 = STRING014 + STRING015
Print STRING015
Endif
If (Len(STRING014) == 4) Goto LABEL021
Goto LABEL020
BOOLEAN007 = 0
STRING015 = ""
U_HVPhone = "(" + STRING012 + ")" + STRING013 + "-" + STRING014
Goto LABEL001
INTEGER001 = "18"
INTEGER002 = "8"
STRING011 = U_Ver
INTEGER004 = 20
STRING006 = ""
INTEGER003 = Len(STRING011)
AnsiPos INTEGER001, INTEGER002
Print Space(INTEGER003 + 1)
AnsiPos INTEGER001, INTEGER002
InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii() + Mask_Num(), 8
If (STRING006 == "") Then
AnsiPos 18, 8
Print U_Ver
Else
U_Ver = STRING006
Endif
Goto LABEL001
If (U_Cls == "0") STRING007 = "1"
If (U_Cls == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 2
Print STRING008
U_Cls = STRING007
Goto LABEL001
If (U_Scroll == "0") STRING007 = "1"
If (U_Scroll == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 3
Print STRING008
U_Scroll = STRING007
Goto LABEL001
If (U_LongHDR == "0") STRING007 = "1"
If (U_LongHDR == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 4
Print STRING008
U_LongHDR = STRING007
Goto LABEL001
If (U_FSE == "0") STRING007 = "1"
If (U_FSE == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 5
Print STRING008
U_FSE = STRING007
Goto LABEL001
If (U_Def79 == "0") STRING007 = "1"
If (U_Def79 == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 6
Print STRING008
U_Def79 = STRING007
Goto LABEL001
If (U_Expert == "0") STRING007 = "1"
If (U_Expert == "1") STRING007 = "0"
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
AnsiPos 71, 7
Print STRING008
U_Expert = STRING007
Goto LABEL001
If (STRING007 == "0") STRING008 = "NO!"
If (STRING007 == "1") STRING008 = "YEP"
Return
:LABEL021
Cls
STRING016 = "%uSeR-SeTTiNGz% bY HuTZoN oF SToNe TeMPLe PiRaTeZ <STP%95>"
INTEGER005 = 0
:LABEL022
If (INTEGER005 == 50) Goto LABEL023
INTEGER005 = INTEGER005 + 1
AnsiPos INTEGER005, 1
Print "@X09-"
Delay 1
Color 8
Print Chr(8)
Print Mid(STRING016, INTEGER005, 1)
Goto LABEL022
:LABEL023
FClose 2
Newline
DispText 273, 256
PutUser
Newline
Wait
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 3 Cls
; 1 Wait
; 1 Color
; 66 Goto
; 139 Let
; 60 Print
; 66 If
; 1 DispFile
; 1 FClose
; 1 GetUser
; 1 PutUser
; 4 InputStr
; 1 Return
; 6 Delay
; 2 Newline
; 1 Shell
; 1 DispText
; 58 AnsiPos
;
;
; ■ Functions used :
;
; 33 +
; 12 -
; 56 ==
; 10 <>
; 6 >
; 26 !
; 11 &&
; 2 ||
; 22 Len(
; 1 Lower()
; 6 Upper()
; 7 Mid()
; 10 Space()
; 12 Chr()
; 7 Inkey()
; 1 Mask_Num()
; 4 Mask_Ascii()
; 1 PPEPath()
; 6 GetX()
; 6 GetY()
; 3 U_PwdHist()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WSH
;
; 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
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; 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
; 17 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------