home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
PWANK082.ZIP
/
FLAGV.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-04-09
|
5KB
|
405 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
Integer INTEGER001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String TSTRING012(23)
String STRING013
String STRING014
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())
STRING005 = PPEPath() + "flag.cfg"
If (Exist(STRING005)) Goto LABEL002
FreshLine
PrintLn "Error: Flag.ppe is setup to run VIEW.PPE but cannot"
PrintLn "find FLAG.CFG, please contact sysop"
End
:LABEL002
STRING004 = ReadLine(STRING005, 1)
If (Exist(STRING004)) Goto LABEL003
FreshLine
PrintLn "Error: Flag.ppe is setup to run VIEW.PPE but cannot"
PrintLn "find ", STRING004, " in FLAG.CFG, please contact sysop"
End
:LABEL003
If (AnsiOn()) Goto LABEL004
DispFile PPEPath() + "FLAGOLD", 4
End
:LABEL004
STRING008 = Chr(8)
STRING009 = Chr(127)
STRING010 = Chr(13)
STRING011 = Chr(27)
BYTE001 = 0
STRING006 = ""
RestScrn
ClrEol
Gosub LABEL015
Gosub LABEL019
:LABEL005
If (BOOLEAN001) Goto LABEL012
STRING007 = Inkey()
If (STRING007 <> "") Then
If ((BYTE001 == 0) && (STRING007 == " ")) Then
BYTE002 = GetY()
BYTE003 = 0
Print STRING010
ClrEol
Print STRING011 + "[s"
DispFile PPEPath() + "FLAGBAR", 1 + 4
Print STRING010
Gosub LABEL016
If (STRING013 <> "") Then
While ((((STRING007 <> STRING011) && (STRING007 <> STRING010)) && (Upper(STRING007) <> "V")) && (Upper(STRING007) <> "N")) Do
STRING007 = Inkey()
If (STRING007 == " ") Then
Gosub LABEL018
Gosub LABEL016
If (STRING013 == "") Then
Gosub LABEL014
Gosub LABEL015
Goto LABEL011
Endif
Endif
EndWhile
Gosub LABEL018
Gosub LABEL014
If (STRING007 == STRING010) Then
KbdStuff "F " + STRING013 + STRING010
End
Goto LABEL007
Endif
If (Upper(STRING007) == "V") Then
SaveScrn
Tokenize "FLAG " + STRING013
Call STRING004
RestScrn
Goto LABEL007
Endif
If (Upper(STRING007) == "N") Then
SaveScrn
If (Upper(ReadLine(STRING002, 1)) <> U_Name()) Then
FClose -1
Delete STRING002
FAppend 1, STRING002, 1, 0
FPutLn 1, U_Name()
Goto LABEL006
Endif
FClose -1
FAppend 1, STRING002, 1, 0
:LABEL006
STRING003 = String(PCBMac("@DIRNUM@"))
If (STRING003 == "") Then
STRING003 = String(PCBMac("@NUMDIR@"))
Endif
If (STRING013 <> "") FPutLn 1, STRING013 + " " + STRING003
FClose 1
PrintLn "@X0CFile targetted for nuking...."
Delay 20
RestScrn
Endif
:LABEL007
Goto LABEL008
Endif
Gosub LABEL014
:LABEL008
Gosub LABEL015
Goto LABEL011
Goto LABEL010
Endif
If ((STRING007 == STRING008) || (STRING007 == STRING009)) Then
If (BYTE001 > 0) Then
Print STRING008 + " "
BYTE001 = BYTE001 - 1
STRING006 = Left(STRING006, BYTE001)
Goto LABEL009
Endif
Goto LABEL011
:LABEL009
Goto LABEL010
Endif
If (STRING007 == STRING010) Then
BOOLEAN001 = 1
Goto LABEL010
Endif
If ((Len(STRING007) > 1) || (STRING007 < " ")) Then
Goto LABEL011
Goto LABEL010
Endif
If ((BYTE001 == 0) && ((STRING007 == "?") || (Upper(STRING007) == "H"))) Then
SaveScrn
Newline
DispFile PPEPath() + "FLAGHLP", 1 + 4
Newline
Wait
RestScrn
Goto LABEL011
Goto LABEL010
Endif
If ((STRING007 >= " ") && (BYTE001 < 80)) Then
STRING006 = STRING006 + STRING007
BYTE001 = BYTE001 + 1
Endif
:LABEL010
Print STRING007
Endif
:LABEL011
Goto LABEL005
:LABEL012
STRING006 = RTrim(STRING006, " ")
If (Upper(Left(STRING006, 1)) == "V") Then
If (Len(STRING006) == 1) Then
ClrEol
STRING013 = ""
PromptStr 240, STRING013, 12, Mask_File(), 2
STRING013 = RTrim(STRING013, " ")
If (Len(STRING013) == 0) Then
ClrEol
KbdStuff STRING010
End
Endif
SaveScrn
INTEGER001 = GetY()
Newline
Tokenize "FLAG " + STRING013
Call STRING004
BOOLEAN001 = 0
RestScrn
STRING006 = ""
BYTE001 = 0
AnsiPos 1, INTEGER001
ClrEol
Gosub LABEL015
Goto LABEL005
Goto LABEL013
Endif
If (Len(STRING006) >= 3) Then
ClrEol
SaveScrn
INTEGER001 = GetY()
Tokenize "FLAG " + Mid(STRING006, 2, Len(STRING006) - 1)
Call STRING004
BOOLEAN001 = 0
RestScrn
STRING006 = ""
BYTE001 = 0
AnsiPos 1, INTEGER001
ClrEol
Gosub LABEL015
Goto LABEL005
Goto LABEL013
Endif
KbdStuff STRING010
End
Endif
:LABEL013
KbdStuff STRING006 + STRING010
End
:LABEL014
Print STRING011 + "[u"
ClrEol
Return
:LABEL015
DispFile PPEPath() + "FLAGNEW", 4
DefColor
Return
:LABEL016
If (BOOLEAN002) Then
BYTE003 = 0
STRING007 = ""
While (BYTE003 == 0) Do
STRING007 = Inkey()
BYTE003 = Asc(STRING007)
If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
BYTE003 = BYTE003 - 128
If (TSTRING012(BYTE003) <> "") Then
Gosub LABEL017
STRING013 = TSTRING012(BYTE003)
Return
Continue
Endif
BYTE003 = 0
Endif
EndWhile
Else
While (BYTE003 < BYTE002) Do
BYTE003 = BYTE003 + 1
If (TSTRING012(BYTE003) <> "") Then
Gosub LABEL017
STRING013 = TSTRING012(BYTE003)
Return
Endif
EndWhile
Endif
STRING013 = ""
Return
:LABEL017
Print STRING011 + "[u" + STRING011 + "[" + String(BYTE002 - BYTE003) + "A"
STRING014 = ScrText(1, BYTE003, 13, 1)
Color 112
Print TSTRING012(BYTE003) + STRING010
Return
:LABEL018
Print STRING014 + STRING010
Return
:LABEL019
If (GrafMode() == "R") Then
BOOLEAN002 = 1
Endif
BYTE003 = 1
While (BYTE003 > 0) Do
ScrFile BYTE003, STRING013
If (BYTE003 <> 0) Then
TSTRING012(BYTE003) = STRING013
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 "!|#|#|#" + STRING010 + Chr(10)
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 8 End
; 8 ClrEol
; 1 Wait
; 1 Color
; 63 Goto
; 46 Let
; 9 Print
; 7 PrintLn
; 38 If
; 4 DispFile
; 2 FAppend
; 3 FClose
; 2 FPutLn
; 1 DefColor
; 1 Delete
; 15 Gosub
; 8 Return
; 1 PromptStr
; 1 Delay
; 1 Inc
; 3 Newline
; 3 Tokenize
; 4 KbdStuff
; 3 Call
; 2 AnsiPos
; 3 FreshLine
; 5 SaveScrn
; 6 RestScrn
; 1 MPrint
; 1 MouseReg
; 1 ScrFile
;
;
; ■ Functions used :
;
; 2 -
; 38 +
; 4 -
; 19 ==
; 11 <>
; 3 <
; 1 <=
; 3 >
; 3 >=
; 37 !
; 7 &&
; 3 ||
; 5 Len(
; 7 Upper()
; 1 Mid()
; 2 Left()
; 6 Chr()
; 1 Asc()
; 2 RTrim()
; 2 U_Name()
; 3 Inkey()
; 5 String()
; 1 Mask_File()
; 1 CurConf()
; 6 PPEPath()
; 1 PcbNode()
; 3 ReadLine()
; 3 Exist()
; 1 AnsiOn()
; 3 GetY()
; 1 GrafMode()
; 1 ScrText()
; 2 PCBMac()
;
;------------------------------------------------------------------------------
;
; Analysis flags : MC
;
; 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
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; 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!
;------------------------------------------------------------------------------