home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
S
/
SCUMN10.ZIP
/
PWAFLAG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-13
|
4KB
|
359 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 BOOLEAN001
Boolean BOOLEAN002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(23)
String STRING009
String STRING010
String STRING011
String STRING012
Byte BYTE001
Byte BYTE002
Byte BYTE003
;------------------------------------------------------------------------------
If (AnsiOn()) Goto LABEL001
DispFile PPEPath() + "FLAGOLD", 4
End
:LABEL001
STRING004 = Chr(8)
STRING005 = Chr(127)
STRING006 = Chr(13)
STRING007 = Chr(27)
BYTE001 = 0
STRING001 = ""
STRING012 = PPEPath() + "FLAGFV.DAT"
STRING011 = ReadLine(STRING012, 1)
STRING003 = ReadLine(STRING011, 41)
RestScrn
ClrEol
Gosub LABEL012
Gosub LABEL016
:LABEL002
If (BOOLEAN001) Goto LABEL009
STRING002 = Inkey()
If (STRING002 <> "") Then
If ((BYTE001 == 0) && (STRING002 == " ")) Then
BYTE002 = GetY()
BYTE003 = 0
Print STRING006
ClrEol
Print STRING007 + "[s"
DispFile PPEPath() + "FLAGBAR", 1 + 4
Print STRING006
Gosub LABEL013
If (STRING009 <> "") Then
While ((((STRING002 <> STRING007) && (STRING002 <> STRING006)) && (Upper(STRING002) <> "V")) && (Upper(STRING002) <> "N")) Do
STRING002 = Inkey()
If (STRING002 == " ") Then
Gosub LABEL015
Gosub LABEL013
If (STRING009 == "") Then
Gosub LABEL011
Gosub LABEL012
Goto LABEL008
Endif
Endif
EndWhile
Gosub LABEL015
Gosub LABEL011
If (STRING002 == STRING006) Then
SaveScrn
KbdStuff "F " + STRING009 + STRING006
End
Goto LABEL004
Endif
If (Upper(STRING002) == "V") Then
If (Exist(STRING003)) Then
FCreate 1, PPEPath() + "FILE.$$$", 2, 0
FPutLn 1, "!" + STRING003 + " " + STRING009
FClose 1
DispFile PPEPath() + "FILE.$$$", 0
Delete "C:\PCB\PPE\FV\FILE.$$$"
End
Goto LABEL003
Endif
PrintLn "** Error, you cannot view files because FLAG.PPE cannont fine"
PrintLn "** either FV.DAT or the PWAFV Cnf file. Make sure the sysop"
Print "** coppied the DAT file to the "
PrintLn PPEPath() + " directory"
End
:LABEL003
KbdStuff "V " + STRING009 + STRING006
Goto LABEL004
Endif
If (Upper(STRING002) == "N") Then
SaveScrn
GetUser
If (ReadLine(ReadLine(PPEPath() + "FLAG.CFG", PcbNode()) + "FNUKE." + String(PcbNode()), 1) <> U_Name()) Then
If (Exist(ReadLine(PPEPath() + "FLAG.CFG", PcbNode())) + "FNUKE." + String(PcbNode())) Delete ReadLine(PPEPath() + "FLAG.CFG", 1) + "FNUKE." + String(PcbNode())
FAppend 6, ReadLine(PPEPath() + "FLAG.CFG", PcbNode()) + "FNUKE." + String(PcbNode()), 2, 0
FPutLn 6, U_Name()
FClose 6
Endif
FAppend 6, ReadLine(PPEPath() + "FLAG.CFG", PcbNode()) + "FNUKE." + String(PcbNode()), 2, 0
FPutLn 6, STRING009
FClose 6
PrintLn "@X0FF@X07i@X08le Flagged for Nukeing! Don't forget to run NUKE@X07R@X0F!"
Delay 25
Newline
RestScrn
Endif
:LABEL004
Goto LABEL005
Endif
Gosub LABEL011
:LABEL005
Gosub LABEL012
Goto LABEL008
Goto LABEL007
Endif
If ((STRING002 == STRING004) || (STRING002 == STRING005)) Then
If (BYTE001 > 0) Then
Print STRING004 + " "
BYTE001 = BYTE001 - 1
STRING001 = Left(STRING001, BYTE001)
Goto LABEL006
Endif
Goto LABEL008
:LABEL006
Goto LABEL007
Endif
If (STRING002 == STRING006) Then
BOOLEAN001 = 1
Goto LABEL007
Endif
If ((Len(STRING002) > 1) || (STRING002 < " ")) Then
Goto LABEL008
Goto LABEL007
Endif
If ((BYTE001 == 0) && ((STRING002 == "?") || (Upper(STRING002) == "H"))) Then
SaveScrn
Newline
DispFile PPEPath() + "FLAGHLP", 1 + 4
Newline
Wait
RestScrn
Goto LABEL008
Goto LABEL007
Endif
If ((STRING002 >= " ") && (BYTE001 < 80)) Then
STRING001 = STRING001 + STRING002
BYTE001 = BYTE001 + 1
Endif
:LABEL007
Print STRING002
Endif
:LABEL008
Goto LABEL002
:LABEL009
STRING001 = RTrim(STRING001, " ")
If (Upper(Left(STRING001, 1)) == "V") Then
If (Len(STRING001) == 1) Then
ClrEol
STRING009 = ""
PromptStr 240, STRING009, 12, Mask_File(), 2
STRING009 = RTrim(STRING009, " ")
If (Len(STRING009) == 0) Then
ClrEol
KbdStuff STRING006
End
Endif
Newline
STRING001 = "V " + STRING009
SaveScrn
Goto LABEL010
Endif
If (Len(STRING001) >= 3) Then
ClrEol
SaveScrn
Goto LABEL010
Endif
KbdStuff STRING006
End
Endif
:LABEL010
KbdStuff STRING001 + STRING006
End
:LABEL011
Print STRING007 + "[u"
ClrEol
Return
:LABEL012
DispFile PPEPath() + "FLAGNEW", 4
DefColor
Return
:LABEL013
If (BOOLEAN002) Then
BYTE003 = 0
STRING002 = ""
While (BYTE003 == 0) Do
STRING002 = Inkey()
BYTE003 = Asc(STRING002)
If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
BYTE003 = BYTE003 - 128
If (TSTRING008(BYTE003) <> "") Then
Gosub LABEL014
STRING009 = TSTRING008(BYTE003)
Return
Continue
Endif
BYTE003 = 0
Endif
EndWhile
Else
While (BYTE003 < BYTE002) Do
BYTE003 = BYTE003 + 1
If (TSTRING008(BYTE003) <> "") Then
Gosub LABEL014
STRING009 = TSTRING008(BYTE003)
Return
Endif
EndWhile
Endif
STRING009 = ""
Return
:LABEL014
Print STRING007 + "[u" + STRING007 + "[" + String(BYTE002 - BYTE003) + "A"
STRING010 = ScrText(1, BYTE003, 13, 1)
Color 112
Print TSTRING008(BYTE003) + STRING006
Return
:LABEL015
Print STRING010 + STRING006
Return
:LABEL016
If (GrafMode() == "R") Then
BOOLEAN002 = 1
Endif
BYTE003 = 1
While (BYTE003 > 0) Do
ScrFile BYTE003, STRING009
If (BYTE003 <> 0) Then
TSTRING008(BYTE003) = STRING009
If (BOOLEAN002) Then
MouseReg 0, 1, BYTE003, 13, BYTE003 + 1, 8, 8, 1, 0, " " + Chr(BYTE003 + 128)
Endif
Inc BYTE003
Endif
EndWhile
If (BOOLEAN002) Then
MPrint "!|#|#|#" + STRING006 + Chr(10)
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 6 ClrEol
; 1 Wait
; 1 Color
; 58 Goto
; 36 Let
; 10 Print
; 4 PrintLn
; 35 If
; 5 DispFile
; 1 FCreate
; 2 FAppend
; 3 FClose
; 3 FPutLn
; 1 GetUser
; 1 DefColor
; 2 Delete
; 13 Gosub
; 8 Return
; 1 PromptStr
; 1 Delay
; 1 Inc
; 4 Newline
; 5 KbdStuff
; 5 SaveScrn
; 3 RestScrn
; 1 MPrint
; 1 MouseReg
; 1 ScrFile
;
;
; ■ Functions used :
;
; 52 +
; 3 -
; 18 ==
; 10 <>
; 3 <
; 1 <=
; 3 >
; 3 >=
; 34 !
; 7 &&
; 3 ||
; 4 Len(
; 6 Upper()
; 2 Left()
; 6 Chr()
; 1 Asc()
; 2 RTrim()
; 2 U_Name()
; 3 Inkey()
; 6 String()
; 1 Mask_File()
; 13 PPEPath()
; 9 PcbNode()
; 8 ReadLine()
; 2 Exist()
; 1 AnsiOn()
; 1 GetY()
; 1 GrafMode()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : M
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 4 While/EndWhile
; 28 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------