home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Equalizer BBS
/
equalizer-bbs-collection_2004.zip
/
equalizer-bbs-collection
/
BBS-PCBOARD-STUFF
/
BCNUK080.ZIP
/
FLAG.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-12-21
|
4KB
|
356 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 BOOLEAN001
Boolean BOOLEAN002
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String TSTRING010(23)
String STRING011
String STRING012
Byte BYTE001
Byte BYTE002
Byte BYTE003
;------------------------------------------------------------------------------
STRING001 = PPEPath() + "flagnuke.cfg"
If (Exist(STRING001)) Goto LABEL001
FreshLine
PrintLn "Error: Flag.ppe is setup to use NUKE.PPE but cannot"
PrintLn "find FLAGNUKE.CFG, please contact sysop"
End
:LABEL001
STRING002 = ReadLine(STRING001, 1) + "\work\bcnk" + String(CurConf()) + "." + String(PcbNode())
If (AnsiOn()) Goto LABEL002
DispFile PPEPath() + "FLAGOLD", 4
End
:LABEL002
STRING006 = Chr(8)
STRING007 = Chr(127)
STRING008 = Chr(13)
STRING009 = Chr(27)
BYTE001 = 0
STRING004 = ""
RestScrn
ClrEol
Gosub LABEL013
Gosub LABEL017
:LABEL003
If (BOOLEAN001) Goto LABEL010
STRING005 = Inkey()
If (STRING005 <> "") Then
If ((BYTE001 == 0) && (STRING005 == " ")) Then
BYTE002 = GetY()
BYTE003 = 0
Print STRING008
ClrEol
Print STRING009 + "[s"
DispFile PPEPath() + "FLAGBAR", 1 + 4
Print STRING008
Gosub LABEL014
If (STRING011 <> "") Then
While ((((STRING005 <> STRING009) && (STRING005 <> STRING008)) && (Upper(STRING005) <> "V")) && (Upper(STRING005) <> "N")) Do
STRING005 = Inkey()
If (STRING005 == " ") Then
Gosub LABEL016
Gosub LABEL014
If (STRING011 == "") Then
Gosub LABEL012
Gosub LABEL013
Goto LABEL009
Endif
Endif
EndWhile
Gosub LABEL016
Gosub LABEL012
If (STRING005 == STRING008) Then
KbdStuff "F " + STRING011 + STRING008
End
Goto LABEL005
Endif
If (Upper(STRING005) == "V") Then
SaveScrn
KbdStuff "V " + STRING011 + STRING008
End
Goto LABEL005
Endif
If (Upper(STRING005) == "N") Then
SaveScrn
FClose -1
If (Upper(ReadLine(STRING002, 1)) <> U_Name()) Then
Delete STRING002
FAppend 1, STRING002, 1, 0
FPutLn 1, U_Name()
Goto LABEL004
Endif
FAppend 1, STRING002, 1, 0
:LABEL004
STRING003 = String(PCBMac("@DIRNUM@"))
If (STRING003 == "") Then
STRING003 = String(PCBMac("@NUMDIR@"))
Endif
If (STRING011 <> "") FPutLn 1, STRING011 + " " + STRING003
FClose 1
PrintLn "@X0CFile targetted for nuking...."
Delay 20
RestScrn
Endif
:LABEL005
Goto LABEL006
Endif
Gosub LABEL012
:LABEL006
Gosub LABEL013
Goto LABEL009
Goto LABEL008
Endif
If ((STRING005 == STRING006) || (STRING005 == STRING007)) Then
If (BYTE001 > 0) Then
Print STRING006 + " "
BYTE001 = BYTE001 - 1
STRING004 = Left(STRING004, BYTE001)
Goto LABEL007
Endif
Goto LABEL009
:LABEL007
Goto LABEL008
Endif
If (STRING005 == STRING008) Then
BOOLEAN001 = 1
Goto LABEL008
Endif
If ((Len(STRING005) > 1) || (STRING005 < " ")) Then
Goto LABEL009
Goto LABEL008
Endif
If ((BYTE001 == 0) && ((STRING005 == "?") || (Upper(STRING005) == "H"))) Then
SaveScrn
Newline
DispFile PPEPath() + "FLAGHLP", 1 + 4
Newline
Wait
RestScrn
Goto LABEL009
Goto LABEL008
Endif
If ((STRING005 >= " ") && (BYTE001 < 80)) Then
STRING004 = STRING004 + STRING005
BYTE001 = BYTE001 + 1
Endif
:LABEL008
Print STRING005
Endif
:LABEL009
Goto LABEL003
:LABEL010
STRING004 = RTrim(STRING004, " ")
If (Upper(Left(STRING004, 1)) == "V") Then
If (Len(STRING004) == 1) Then
ClrEol
STRING011 = ""
PromptStr 240, STRING011, 12, Mask_File(), 2
STRING011 = RTrim(STRING011, " ")
If (Len(STRING011) == 0) Then
ClrEol
KbdStuff STRING008
End
Endif
Newline
STRING004 = "V " + STRING011
SaveScrn
Goto LABEL011
Endif
If (Len(STRING004) >= 3) Then
ClrEol
SaveScrn
Goto LABEL011
Endif
KbdStuff STRING008
End
Endif
:LABEL011
KbdStuff STRING004 + STRING008
End
:LABEL012
Print STRING009 + "[u"
ClrEol
Return
:LABEL013
DispFile PPEPath() + "FLAGNEW", 4
DefColor
Return
:LABEL014
If (BOOLEAN002) Then
BYTE003 = 0
STRING005 = ""
While (BYTE003 == 0) Do
STRING005 = Inkey()
BYTE003 = Asc(STRING005)
If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
BYTE003 = BYTE003 - 128
If (TSTRING010(BYTE003) <> "") Then
Gosub LABEL015
STRING011 = TSTRING010(BYTE003)
Return
Continue
Endif
BYTE003 = 0
Endif
EndWhile
Else
While (BYTE003 < BYTE002) Do
BYTE003 = BYTE003 + 1
If (TSTRING010(BYTE003) <> "") Then
Gosub LABEL015
STRING011 = TSTRING010(BYTE003)
Return
Endif
EndWhile
Endif
STRING011 = ""
Return
:LABEL015
Print STRING009 + "[u" + STRING009 + "[" + String(BYTE002 - BYTE003) + "A"
STRING012 = ScrText(1, BYTE003, 13, 1)
Color 112
Print TSTRING010(BYTE003) + STRING008
Return
:LABEL016
Print STRING012 + STRING008
Return
:LABEL017
If (GrafMode() == "R") Then
BOOLEAN002 = 1
Endif
BYTE003 = 1
While (BYTE003 > 0) Do
ScrFile BYTE003, STRING011
If (BYTE003 <> 0) Then
TSTRING010(BYTE003) = STRING011
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 "!|#|#|#" + STRING008 + Chr(10)
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 6 ClrEol
; 1 Wait
; 1 Color
; 59 Goto
; 37 Let
; 9 Print
; 3 PrintLn
; 36 If
; 4 DispFile
; 2 FAppend
; 2 FClose
; 2 FPutLn
; 1 DefColor
; 1 Delete
; 13 Gosub
; 8 Return
; 1 PromptStr
; 1 Delay
; 1 Inc
; 3 Newline
; 5 KbdStuff
; 1 FreshLine
; 5 SaveScrn
; 3 RestScrn
; 1 MPrint
; 1 MouseReg
; 1 ScrFile
;
;
; ■ Functions used :
;
; 1 -
; 37 +
; 3 -
; 19 ==
; 11 <>
; 3 <
; 1 <=
; 3 >
; 3 >=
; 35 !
; 7 &&
; 3 ||
; 4 Len(
; 7 Upper()
; 2 Left()
; 6 Chr()
; 1 Asc()
; 2 RTrim()
; 2 U_Name()
; 3 Inkey()
; 5 String()
; 1 Mask_File()
; 1 CurConf()
; 5 PPEPath()
; 1 PcbNode()
; 2 ReadLine()
; 1 Exist()
; 1 AnsiOn()
; 1 GetY()
; 1 GrafMode()
; 1 ScrText()
; 2 PCBMac()
;
;------------------------------------------------------------------------------
;
; 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!
;------------------------------------------------------------------------------