home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TRASH106.ZIP
/
TRASH_2.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-12-25
|
16KB
|
756 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
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
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
String STRING043
String STRING044
String STRING045
String STRING046
String STRING047
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String STRING053
String STRING054
String STRING055
String STRING056
;------------------------------------------------------------------------------
If (Psa(2) == 0) Then
DispStr "@X0CThe Verification (PSA) not installed! *Trash* terminated..."
Log "Verification (PSA) not installed! (Trash)", 0
Newline
Newline
Wait
End
Endif
If (Psa(4) == 0) Then
DispStr "@X0CThe Password (PSA) not installed! *Trash* terminated..."
Log "Password (PSA) not installed! (Trash)", 0
Newline
Newline
Wait
End
Endif
If (Exist(PPEPath() + "trash.cfg")) Then
Goto LABEL001
Else
DispStr "@X0CThe TRASH.CFG configuration file missing! *Trash* terminated..."
Log "The " + PPEPath() + "TRASH.CFG file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL001
If (Exist(PPEPath() + "prompts")) Then
Goto LABEL002
Else
DispStr "@X0CThe PROMPTS configuration file missing! *Trash* terminated..."
Log "The " + PPEPath() + "PROMPTS file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL002
FOpen 1, PPEPath() + "trash.cfg", 0, 2
If (Ferr(1)) End
FGet 1, STRING033
FGet 1, STRING010
FGet 1, STRING011
FGet 1, STRING026
FGet 1, INTEGER003
FGet 1, STRING027
FGet 1, STRING030
FGet 1, STRING039
FGet 1, STRING040
FGet 1, STRING051
FGet 1, STRING052
FGet 1, STRING055
FGet 1, STRING056
FClose 1
STRING033 = Trim(STRING033, " ")
STRING010 = Trim(STRING010, " ")
STRING011 = Trim(STRING011, " ")
STRING026 = Trim(STRING026, " ")
INTEGER003 = Trim(INTEGER003, " ")
STRING027 = Trim(STRING027, " ")
STRING030 = Trim(STRING030, " ")
STRING039 = Trim(STRING039, " ")
STRING040 = Trim(STRING040, " ")
STRING051 = Trim(STRING051, " ")
STRING052 = Trim(STRING052, " ")
STRING055 = Trim(STRING055, " ")
STRING056 = Trim(STRING056, " ")
STRING033 = Upper(STRING033)
STRING011 = Upper(STRING011)
STRING026 = Upper(STRING026)
STRING027 = Upper(STRING027)
STRING030 = Upper(STRING030)
STRING039 = Upper(STRING039)
STRING040 = Upper(STRING040)
STRING051 = Upper(STRING051)
STRING052 = Upper(STRING052)
STRING055 = Upper(STRING055)
STRING056 = Upper(STRING056)
Delete STRING026 + "userdata." + String(PcbNode())
If (Exist(STRING027 + "tcan")) Then
Goto LABEL003
Else
DispStr "@X0CThe " + STRING027 + "TCAN file is missing! *Trash* terminated..."
Log "The " + STRING027 + "TCAN file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL003
If (Exist(STRING027 + "pwdcan")) Then
Goto LABEL004
Else
DispStr "@X0CThe " + STRING027 + "PWDCAN file is missing! *Trash* terminated..."
Log "The " + STRING027 + "PWDCAN file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL004
If (Exist(PPEPath() + "trashreg.exe")) Then
Goto LABEL005
Else
DispStr "@X0CThe " + PPEPath() + "TRASHREG.EXE file is missing! *Trash* terminated..."
Log "The " + PPEPath() + "TRASHREG.EXE file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL005
If (Exist(PPEPath() + "trash.exe")) Then
Goto LABEL006
Else
DispStr "@X0CThe " + PPEPath() + "TRASH.EXE file is missing! *Trash* terminated..."
Log "The " + PPEPath() + "TRASH.EXE file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL006
If (Exist(STRING040 + "trash.dbf")) Then
Goto LABEL007
Else
DispStr "@X0CThe " + STRING040 + "TRASH.DBF file is missing! *Trash* terminated..."
Log "The " + STRING040 + "TRASH.DBF file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL007
If (Exist(STRING040 + "trash1.ndx")) Then
Goto LABEL008
Else
DispStr "@X0CThe " + STRING040 + "TRASH1.NDX file is missing! *Trash* terminated..."
Log "The " + STRING040 + "TRASH1.NDX file is missing! (Trash)", 0
Newline
Newline
Wait
End
Endif
:LABEL008
If (Exist(PPEPath() + "prompts" + LangExt())) Then
FOpen 2, PPEPath() + "prompts" + LangExt(), 0, 2
If (Ferr(2)) End
Else
FOpen 2, PPEPath() + "prompts", 0, 2
If (Ferr(2)) End
Endif
FGet 2, STRING005
FGet 2, STRING006
FGet 2, STRING007
FGet 2, STRING008
FGet 2, STRING038
FGet 2, STRING041
FGet 2, STRING042
FGet 2, STRING043
FGet 2, STRING044
FGet 2, STRING045
FGet 2, STRING046
FGet 2, STRING047
FGet 2, STRING048
FGet 2, STRING049
FGet 2, STRING050
FClose 2
GetUser
If ((STRING051 <> "NONE") && (U_Sec <= STRING051)) STRING053 = " NEW"
If ((STRING052 <> "NONE") && (U_Sec >= STRING052)) STRING053 = " NEW"
STRING029 = "v1.06"
INTEGER010 = 34327
INTEGER014 = INTEGER010 + 90
INTEGER006 = 11898
INTEGER007 = 16304
INTEGER008 = 101896
INTEGER009 = 102120
INTEGER004 = 1
INTEGER002 = STRING010
STRING003 = PPEPath() + "trash.exe"
STRING037 = PPEPath() + "trashreg.exe"
STRING002 = STRING027 + "tcan " + STRING027 + "pwdcan " + STRING026 + "userdata." + String(PcbNode()) + " " + STRING040 + " trash"
STRING009 = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + STRING011
STRING034 = "("
STRING035 = Chr(85) + Chr(78)
STRING036 = Chr(82) + Chr(69) + Chr(71) + Chr(73) + Chr(83) + Chr(84) + Chr(69) + Chr(82) + Chr(69) + Chr(68) + ")"
If ((STRING055 <> "NONE") && (U_Sec <= STRING055)) Goto LABEL011
If ((STRING056 <> "NONE") && (U_Sec >= STRING056)) Goto LABEL011
If (Exist(PPEPath() + "trash.key")) Then
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) Cls
STRING031 = Chr(55) + Chr(56) + Chr(53) + Chr(55)
STRING032 = PPEPath() + "trash.key"
Shell 0, INTEGER001, STRING037, STRING031 + " " + STRING032 + " " + STRING033
If (INTEGER001 == 1) INTEGER011 = FileInf(PPEPath() + "trash.exe", 2)
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER011)) INTEGER004 = 1
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER011)) Goto LABEL009
If (INTEGER001 == 1) INTEGER012 = FileInf(PPEPath() + "trash.ppe", 2)
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER012)) INTEGER004 = 1
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER012)) Goto LABEL009
If (INTEGER001 == 1) INTEGER013 = FileInf(PPEPath() + "trashreg.exe", 2)
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER013)) INTEGER004 = 1
If ((INTEGER001 == 1) && !(INTEGER010 == INTEGER013)) Goto LABEL009
If (INTEGER001 == 1) INTEGER005 = FileInf(PPEPath() + "trashreg.exe", 4)
If ((INTEGER001 == 1) && !(INTEGER005 == INTEGER006)) INTEGER004 = 1
If ((INTEGER001 == 1) && !(INTEGER005 == INTEGER006)) Goto LABEL009
If (INTEGER001 == 1) INTEGER005 = FileInf(PPEPath() + "trash.ppe", 4)
If ((INTEGER001 == 1) && !(INTEGER005 == INTEGER007)) INTEGER004 = 1
If ((INTEGER001 == 1) && !(INTEGER005 == INTEGER007)) Goto LABEL009
If (INTEGER001 == 1) INTEGER005 = FileInf(PPEPath() + "trash.exe", 4)
If ((INTEGER001 == 1) && (INTEGER005 == INTEGER008)) INTEGER004 = 0
If (INTEGER001 == 1) INTEGER005 = FileInf(PPEPath() + "trash.exe", 4)
If ((INTEGER001 == 1) && (INTEGER005 == INTEGER009)) INTEGER004 = 0
If ((INTEGER001 == 1) && (INTEGER004 == 0)) STRING029 = STRING029 + " " + STRING034 + STRING036
Endif
:LABEL009
If (INTEGER004 == 1) STRING029 = STRING029 + " " + STRING034 + STRING035 + STRING036
Cls
DispStr "@X0A*Trash* (C) " + STRING029 + " - trashcan scanner...@X07"
Newline
Newline
If (INTEGER004 == 1) Then
INTEGER011 = Date()
If (INTEGER011 >= INTEGER014) Goto LABEL010
SaveScrn
Print Chr(64) + Chr(88) + Chr(52) + Chr(69)
SPrint " " + Chr(80) + Chr(108) + Chr(101) + Chr(97) + Chr(115) + Chr(101) + " " + Chr(99) + Chr(111) + Chr(110) + Chr(115) + Chr(105) + Chr(100) + Chr(101) + Chr(114) + " " + Chr(114) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + " " + Chr(116) + Chr(104) + Chr(105) + Chr(115) + " " + Chr(112) + Chr(114) + Chr(111) + Chr(103) + Chr(114) + Chr(97) + Chr(109) + " " + Chr(105) + Chr(102) + " " + Chr(121) + Chr(111) + Chr(117) + " " + Chr(108) + Chr(105) + Chr(107) + Chr(101) + " " + Chr(105) + Chr(116) + Chr(63) + " " + Chr(84) + Chr(114) + Chr(97) + Chr(115) + Chr(104) + " " + Chr(38) + " " + Chr(83) + Chr(109) + Chr(97) + Chr(114) + Chr(116) + Chr(83) + Chr(101) + Chr(99) + " " + Chr(40) + Chr(67) + Chr(41) + " "
SPrintLn
SPrint " " + Chr(105) + Chr(115) + " " + Chr(108) + Chr(111) + Chr(119) + " " + Chr(112) + Chr(114) + Chr(105) + Chr(99) + Chr(101) + Chr(100) + " " + Chr(97) + Chr(116) + " " + Chr(111) + Chr(110) + Chr(108) + Chr(121) + " " + Chr(36) + Chr(55) + " " + Chr(85) + Chr(83) + " " + Chr(100) + Chr(111) + Chr(108) + Chr(108) + Chr(97) + Chr(114) + " " + Chr(101) + Chr(97) + Chr(99) + Chr(104) + " " + Chr(111) + Chr(114) + " " + Chr(36) + Chr(49) + Chr(48) + " " + Chr(85) + Chr(83) + " " + Chr(100) + Chr(111) + Chr(108) + Chr(108) + Chr(97) + Chr(114) + " " + Chr(102) + Chr(111) + Chr(114) + " " + Chr(98) + Chr(111) + Chr(116) + Chr(104) + Chr(46) + " " + Chr(84) + Chr(104) + Chr(97) + Chr(110) + Chr(107) + Chr(115) + Chr(33) + " "
Print +Chr(64) + Chr(88) + Chr(48) + Chr(55)
Delay 75
RestScrn
If (INTEGER011 >= INTEGER014) Then
:LABEL010
Print Chr(64) + Chr(88) + Chr(52) + Chr(69)
SPrintLn " " + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + " "
SPrintLn " " + Chr(84) + Chr(104) + Chr(101) + " " + Chr(101) + Chr(118) + Chr(97) + Chr(108) + Chr(117) + Chr(97) + Chr(116) + Chr(105) + Chr(111) + Chr(110) + " " + Chr(112) + Chr(101) + Chr(114) + Chr(105) + Chr(111) + Chr(100) + " " + Chr(104) + Chr(97) + Chr(115) + " " + Chr(101) + Chr(120) + Chr(112) + Chr(105) + Chr(114) + Chr(101) + Chr(100) + " " + Chr(45) + " " + Chr(112) + Chr(108) + Chr(101) + Chr(97) + Chr(115) + Chr(101) + " " + Chr(114) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(33) + " "
SPrintLn " " + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + Chr(42) + " "
Print +Chr(64) + Chr(88) + Chr(48) + Chr(55)
Beep
Newline
Delay 75
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) Cls
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) PrintLn "@X0C" + STRING050
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) Newline
:LABEL011
InputStr STRING005, STRING004, 14, 12, STRING009, 1 + 8
ShowOff
KbdStuff STRING004 + Chr(13)
ShowOn
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) Newline
Newline
End
Endif
Endif
If (INTEGER011 >= INTEGER014) End
If (INTEGER003 <= 4) INTEGER003 = 4
If (INTEGER003 >= 12) INTEGER003 = 12
If (Psa(1) == 1) STRING013 = Trim(U_Alias, " ")
STRING012 = Trim(U_Name(), " ")
STRING014 = Trim(U_City, " ")
STRING028 = Trim(U_Pwd, " ")
STRING015 = Trim(U_Addr(0), " ")
STRING016 = Trim(U_Addr(1), " ")
STRING017 = Trim(U_Addr(2), " ")
STRING018 = Trim(U_Addr(3), " ")
STRING019 = Trim(U_Addr(4), " ")
STRING020 = Trim(U_Addr(5), " ")
STRING021 = Trim(U_HVPhone, " ")
STRING022 = Trim(U_BDPhone, " ")
STRING023 = Trim(U_PwdHist(1), " ")
STRING024 = Trim(U_PwdHist(2), " ")
STRING025 = Trim(U_PwdHist(3), " ")
STRING015 = Upper(STRING015)
STRING016 = Upper(STRING016)
STRING017 = Upper(STRING017)
STRING018 = Upper(STRING018)
STRING020 = Upper(STRING020)
:LABEL012
If (INTEGER011 >= INTEGER014) End
STRING004 = ""
If (INTEGER002 < STRING010) Cls
If (INTEGER002 == STRING010) Log "*Trash* " + STRING029 + " - trashcan scanner...", 0
If (INTEGER002 == STRING010) DispFile PPEPath() + "info1pwd", 1 + 4
If (INTEGER002 == STRING010) Newline
DispFile PPEPath() + "info2pwd", 1 + 4
Newline
If (Exist(PPEPath() + "w_dummy." + String(PcbNode()))) Then
DispStr "@X0C" + STRING050
Newline
Newline
InputStr STRING005, STRING004, 14, 12, STRING009, 1 + 8
If (STRING004 <> "") Cls
If (STRING004 <> "") Goto LABEL013
ShowOff
KbdStuff Chr(13)
ShowOn
Newline
Newline
Delete STRING026 + "userdata." + String(PcbNode())
End
Endif
If (U_Pwd == "") Then
InputStr STRING005, STRING004, 14, 12, STRING009, 1 + 8
Else
InputStr STRING006, STRING004, 14, 12, STRING009, 1 + 8
Endif
Cls
Newline
STRING004 = Trim(STRING004, " ")
If (STRING004 == " ") Goto LABEL014
If (STRING004 == "") Then
Log "Invalid password input, retry : <ENTER>", 0
Dec INTEGER002
Newline
PrintLn "@X0C" + STRING008
Newline
Wait
If (INTEGER002 > 0) Goto LABEL012
Else
:LABEL013
If (INTEGER011 >= INTEGER014) End
If (STRING004 == "AUTO") Goto LABEL025
If (Len(STRING004) < INTEGER003) Then
Newline
PrintLn "@X0C" + STRING007
Log "Password is less than " + String(INTEGER003) + " chrs : (" + STRING004 + ")", 0
Newline
Wait
Dec INTEGER002
If (INTEGER002 > 0) Goto LABEL012
Else
FCreate 1, STRING026 + "userdata." + String(PcbNode()), 1, 2
If (Ferr(1)) End
FPutLn 1, STRING012
FPutLn 1, STRING013
FPutLn 1, STRING028
FPutLn 1, STRING014
FPutLn 1, STRING015
FPutLn 1, STRING016
FPutLn 1, STRING017
FPutLn 1, STRING018
FPutLn 1, STRING019
FPutLn 1, STRING020
FPutLn 1, STRING021
FPutLn 1, STRING022
FPutLn 1, STRING023
FPutLn 1, STRING024
FPutLn 1, STRING025
FPutLn 1, STRING004
FClose 1
Shell 0, INTEGER001, STRING003, STRING002 + STRING053
If (INTEGER001 == 10) Goto LABEL014
If (INTEGER001 == 9) Goto LABEL015
If (INTEGER001 == 8) Goto LABEL016
If (INTEGER001 == 7) Goto LABEL017
If (INTEGER001 == 6) Goto LABEL018
If (INTEGER001 == 5) Goto LABEL019
If (INTEGER001 == 4) Goto LABEL020
If (INTEGER001 == 3) Goto LABEL021
If (INTEGER001 == 2) Goto LABEL022
If (INTEGER001 == 1) Goto LABEL023
If (INTEGER001 == 0) Goto LABEL026
:LABEL014
If (INTEGER011 >= INTEGER014) End
Cls
Delete STRING026 + "userdata." + String(PcbNode())
Newline
DispStr "@X0CPlease tell SysOp that TRASH is *NOT* configured okay!"
Newline
Newline
Wait
DispStr "@X0CThe program is now terminated."
Newline
Newline
Wait
Log "Something went *WRONG* with Trash! Check it up...", 0
Log "Don't use SPACE as a valid input on Line 3 in TRASH.CFG", 0
End
:LABEL015
If (INTEGER011 >= INTEGER014) End
Cls
Log "HISTORY - rev old pwd in string: (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING041
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL016
If (INTEGER011 >= INTEGER014) End
Cls
Log "HISTORY - old pwd in string : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING042
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL017
If (INTEGER011 >= INTEGER014) End
Cls
Log "DUPLICATE word used in string : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING043
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL018
If (INTEGER011 >= INTEGER014) End
Cls
Log "USERDATA - rev wildcard 4 chrs : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING044
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL019
If (INTEGER011 >= INTEGER014) End
Cls
Log "USERDATA - wildcard 3 chrs : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING045
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL020
If (INTEGER011 >= INTEGER014) End
Cls
Log "PWDCAN - rev wildcard string : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING046
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL021
If (INTEGER011 >= INTEGER014) End
Cls
Log "PWDCAN - wildcard string : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING047
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL022
If (INTEGER011 >= INTEGER014) End
Cls
Log "TCAN - rev exact string match : (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING048
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
:LABEL023
If (INTEGER011 >= INTEGER014) End
Cls
Log "TCAN - exact string match found: (" + STRING004 + ")", 0
If (INTEGER002 > 1) Then
PrintLn "@X0C" + STRING049
Dec INTEGER002
Newline
Wait
Goto LABEL012
Else
Goto LABEL024
Endif
Endif
Endif
:LABEL024
If (INTEGER011 >= INTEGER014) End
If (STRING039 == "NO") Then
DispStr "@X0CTo many failing password attempts - automatic logoff!"
Newline
Log "To many password attempts, logged off!", 0
Delete STRING026 + "userdata." + String(PcbNode())
Hangup
End
Endif
:LABEL025
FCreate 1, STRING026 + "userdata." + String(PcbNode()), 1, 2
If (Ferr(1)) End
FPutLn 1, STRING012
FPutLn 1, STRING013
FPutLn 1, STRING028
FPutLn 1, STRING014
FPutLn 1, STRING015
FPutLn 1, STRING016
FPutLn 1, STRING017
FPutLn 1, STRING018
FPutLn 1, STRING019
FPutLn 1, STRING020
FPutLn 1, STRING021
FPutLn 1, STRING022
FPutLn 1, STRING023
FPutLn 1, STRING024
FPutLn 1, STRING025
FPutLn 1, STRING004
FClose 1
Cls
ShowOff
If (INTEGER011 >= INTEGER014) End
If (STRING004 == "AUTO") STRING054 = STRING004
Shell 0, INTEGER001, STRING003, STRING002 + " " + "pwd=" + String(INTEGER003) + STRING053
FOpen 1, PPEPath() + "new.pwd", 0, 2
If (Ferr(1)) End
FGet 1, STRING004
FClose 1
Delete PPEPath() + "new.pwd"
Delete STRING026 + "userdata." + String(PcbNode())
KbdStuff STRING004 + Chr(13)
STRING004 = Lower(STRING004)
If (STRING030 == "YES") Then
Log "Auto-Generated pwd by Trash was: (" + STRING004 + ")", 0
Else
Log "Trash made a Auto-Generated password.", 0
Endif
ShowOn
If (!(STRING054 == "AUTO")) DispFile PPEPath() + "autopwd", 1 + 4
If (!(STRING054 == "AUTO")) Newline
DispStr "@X0C" + STRING038 + ": " + "@X4E " + STRING004 + "@X4E "
If (U_Pwd <> "") Newline
Newline
End
:LABEL026
If (INTEGER011 >= INTEGER014) End
If (STRING030 == "YES") Then
Log "Accepted password by Trash was : (" + STRING004 + ")", 0
Else
Log "The user password was accepted by Trash.", 0
Endif
Delete STRING026 + "userdata." + String(PcbNode())
KbdStuff STRING004
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 38 End
; 17 Cls
; 23 Wait
; 103 Goto
; 87 Let
; 4 Print
; 12 PrintLn
; 111 If
; 3 DispFile
; 2 FCreate
; 4 FOpen
; 5 FClose
; 29 FGet
; 32 FPutLn
; 1 Hangup
; 1 GetUser
; 7 Delete
; 29 Log
; 4 InputStr
; 2 Delay
; 11 Dec
; 55 Newline
; 3 Shell
; 1 Beep
; 4 KbdStuff
; 16 DispStr
; 1 SaveScrn
; 1 RestScrn
; 2 SPrint
; 4 SPrintLn
; 3 ShowOn
; 3 ShowOff
;
;
; ■ Functions used :
;
; 2 +
; 509 +
; 62 ==
; 7 <>
; 2 <
; 3 <=
; 11 >
; 21 >=
; 42 !
; 17 &&
; 1 Len(
; 1 Lower()
; 16 Upper()
; 6 Ferr()
; 309 Chr()
; 29 Trim()
; 1 Date()
; 1 U_Name()
; 17 String()
; 36 PPEPath()
; 15 PcbNode()
; 16 Exist()
; 2 LangExt()
; 3 U_PwdHist()
; 3 Psa()
; 7 FileInf()
;
;------------------------------------------------------------------------------
;
; Analysis flags : BSH
;
; 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
;
; 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
; 30 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------