home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TC-LOGIN.ZIP
/
AMILOG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-21
|
2KB
|
181 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
;------------------------------------------------------------------------------
String STRING001
String STRING002
String STRING003
String STRING004
Int INT001
Int INT002
Int INT003
;------------------------------------------------------------------------------
If (Exist(PPEPath() + "logon.pcb")) DispFile PPEPath() + "logon.pcb", 1
INT002 = GetY()
INT003 = -1
If (U_Name() <> "") Goto LABEL004
:LABEL001
INT003 = INT003 + 1
If (INT003 == 3) Hangup
STRING001 = ""
INT002 = INT002 + 1
AnsiPos INT001, INT002
Print Space(25)
AnsiPos 1, INT002
Print "@X07Enter Your Name: "
InputText "_", STRING001, 0, 25
AnsiPos 1, INT002 + 2
STRING002 = Upper(STRING001)
If (Len(STRING001) < 2) Then
INT002 = INT002 + 2
Print "Name Must Be At Least 2 Characters Long"
INT002 = INT002 + 1
Goto LABEL001
Endif
If (U_RecNum(STRING002) == -1) Then
INT002 = INT002 + 1
Print "The name ", STRING001, " is not used on this BBS."
AnsiPos 1, INT002 + 2
Print "[R]etry your name or [C]ontinue to log on as a new user? "
INT001 = GetX()
:LABEL002
STRING003 = ""
While (STRING003 == "") Do
STRING003 = Upper(Inkey())
AnsiPos INT001, INT002 + 2
EndWhile
INT002 = INT002 + 3
If (STRING003 == "C") Then
If (CDOn() || OnLocal()) Then
KbdStuff STRING001 + Chr(13)
End
Endif
Goto LABEL003
Endif
If (STRING003 == "R") Then
Goto LABEL001
Goto LABEL003
Endif
Goto LABEL002
Endif
:LABEL003
If (CDOn() || OnLocal()) KbdStuff STRING001 + Chr(13)
End
:LABEL004
GetUser
INT002 = GetY()
:LABEL005
INT003 = INT003 + 1
If (INT003 == 3) Then
Print "@X07Excessive Password Failures!"
Hangup
Endif
INT002 = INT002 + 1
AnsiPos 1, 1
Print "@X4F"
SPrint "Password: ", U_Pwd, Space(16 - Len(U_Pwd)), "Attempts: ", String(INT003 + 1), "/3", Space(7), "Input: ", STRING004, Space(15 - Len(STRING004)), Space(12)
AnsiPos 1, INT002
Print "@X07password : "
InputStr "_", STRING004, 0, 25, Mask_Pwd(), 1
STRING004 = Upper(STRING004)
If (STRING004 == U_Pwd) Goto LABEL006
INT002 = INT002 + 1
AnsiPos 1, INT002 + 1
PrintLn "Wrong Password!"
INT002 = INT002 + 2
Goto LABEL005
:LABEL006
KbdStuff STRING004 + Chr(13)
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 16 Goto
; 19 Let
; 8 Print
; 1 PrintLn
; 12 If
; 1 DispFile
; 2 Hangup
; 1 GetUser
; 1 InputStr
; 1 InputText
; 3 KbdStuff
; 8 AnsiPos
; 1 SPrint
;
;
; ■ Functions used :
;
; 2 -
; 20 +
; 2 -
; 7 ==
; 1 <>
; 1 <
; 8 !
; 2 ||
; 3 Len(
; 3 Upper()
; 5 Space()
; 3 Chr()
; 1 U_Name()
; 1 Inkey()
; 1 String()
; 1 Mask_Pwd()
; 2 PPEPath()
; 2 OnLocal()
; 1 Exist()
; 2 CDOn()
; 1 GetX()
; 2 GetY()
; 1 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : BH
;
; 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
; 1 While/EndWhile
; 6 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------