home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
VRAC
/
GRAFD220.ZIP
/
GRAF-D.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-09-09
|
6KB
|
301 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Integer INTEGER001
Integer INTEGER002
String STRING001
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
;------------------------------------------------------------------------------
STRING005 = ""
STRING009 = Chr(8) + Chr(32) + Chr(8)
STRING003 = 50
STRING004 = 3
BOOLEAN005 = 0
STRING010 = Chr(27)
STRING011 = Chr(13) + Chr(10)
STRING018 = 1
STRING019 = "Q"
STRING005 = GetToken()
While (STRING005 <> "") Do
If (Mid(Upper(STRING005), 2, 1) == "W") Then
INTEGER002 = Len(STRING005) - InStr(STRING005, ":")
STRING003 = Mid(STRING005, InStr(STRING005, ":") + 1, INTEGER002)
Else
Select Case (Mid(Upper(STRING005), 2, 3))
Case "NOR"
STRING018 = 0
Case "NOQ"
STRING019 = ""
Case "C"
BOOLEAN004 = 1
Case "A"
STRING017 = 1
Case "DELAY"
INTEGER002 = Len(STRING005) - InStr(STRING005, ":")
STRING004 = Mid(STRING005, InStr(STRING005, ":") + 1, INTEGER002)
Case "DEBUG"
BOOLEAN005 = 1
FAppend 1, PPEPath() + "DEBUG.GRF", 2, 0
If (Ferr(1)) SPrintLn "@X8CUnable to write to debug log file."
FPutLn 1
FPutLn 1
FPutLn 1, "GRAF-D Debug : ", Date(), " ", Time()
FPutLn 1
FPutLn 1, "allow_quick : ", STRING019
FPutLn 1, "autoansr : ", STRING017
FPutLn 1, "compatible : ", BOOLEAN004
FPutLn 1, "delayticks : ", STRING004
FPutLn 1, "maxticks : ", STRING003
FPutLn 1, "rip_detect : ", STRING018
FPutLn 1, "------------------------------------------"
Endif
End Select
STRING005 = GetToken()
EndWhile
STRING005 = ""
PrintLn "Testing your system capability..."
If (OnLocal()) Then
BOOLEAN001 = 1
Else
If (STRING018) Then
MPrint STRING010 + "[!"
MPrint STRING009 + STRING009 + STRING009
Endif
MPrint STRING010 + " F"
MPrint STRING009 + STRING009 + STRING009
MPrint STRING010 + "[6n"
MPrint STRING009 + STRING009 + STRING009 + STRING009
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
While ((STRING005 == "") && (INTEGER001 <= STRING003)) Do
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
If (STRING005 <> "") Then
BOOLEAN003 = 1
Continue
Endif
Delay STRING004
INTEGER001 = INTEGER001 + 2
EndWhile
Select Case (STRING005)
Case "R"
While ((STRING005 <> "") || (Len(STRING007) < 9)) Do
STRING007 = STRING007 + STRING005
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
If (STRING005 == "") Then
Delay STRING004
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
Endif
EndWhile
If (Left(STRING007, 3) == "RIP") Then
BOOLEAN002 = 1
BOOLEAN001 = 1
Endif
Case STRING010
While (STRING005 <> "") Do
STRING007 = STRING007 + STRING005
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
If (STRING005 == "") Then
Delay STRING004
STRING005 = Chr(MGetByte())
If (BOOLEAN005) FPut 1, STRING005
Endif
EndWhile
Tokenize STRING007
STRING005 = GetToken()
STRING005 = Mid(STRING005, 2, Len(STRING005 - 1))
If (((STRING005 >= 0) || (STRING005 <= 80)) && (Right(GetToken(), 1) == "R")) Then
BOOLEAN001 = 1
Goto LABEL001
Endif
BOOLEAN001 = 0
Endif
End Select
:LABEL001
STRING002 = "Do you want graphics (Enter)="
STRING006 = ReadLine(PCBDat(), 257)
If (STRING006) Then
STRING008 = ReadLine(PCBDat(), 179)
SPrintLn
SPrintLn "┌───────────────────────────────────────────────────────────────────┐"
SPrintLn "│ Your system is improperly configured for use with the GRAF-D.PPE │"
SPrintLn "│ file. You have configured it to default to Yes for the 'Do you │"
SPrintLn "│ want graphics' prompt. You need to change that setting to 'N' in │"
SPrintLn "│ PCBSetup | Configuration Options | Configuration Switches. │"
SPrintLn "└───────────────────────────────────────────────────────────────────┘"
SPrintLn
Print "Do you want graphics (Enter)=no"
If (BOOLEAN005) FClose 1
End
Endif
If (BOOLEAN001) Then
If (BOOLEAN002) Then
If (BOOLEAN004) Then
PrintLn STRING011 + STRING010 + "[45;30m▓▒░" + STRING010 + "[37;1m RIPscrip detected and it will be the default " + STRING010 + "[0m" + STRING010 + "[45;30m ░▒▓" + STRING010 + "[0m"
Else
STRING002 = STRING002 + "RIPscrip"
Endif
ElseIf (BOOLEAN004) Then
PrintLn STRING011 + STRING010 + "[45;30m▓▒░" + STRING010 + "[37;1m ANSI detected and it will be the default " + STRING010 + "[0m" + STRING010 + "[45;30m ░▒▓" + STRING010 + "[0m"
Else
STRING002 = STRING002 + "yes"
Endif
If (BOOLEAN004) STRING002 = STRING002 + "default"
Else
If (BOOLEAN004) Then
PrintLn STRING011 + "[* No graphics capabilities detected. This will be the default *]"
STRING002 = STRING002 + "default"
Else
STRING002 = STRING002 + "no"
Endif
Endif
If ((STRING017 && !BOOLEAN001) || !STRING017) Then
InputStr STRING002, STRING001, 7, 6, "SR" + STRING019, 2 + 128 + 256 + 16 + 8 + 16384
If ((STRING001 == "") && !BOOLEAN001) STRING001 = NoChar()
If (InStr(STRING001, "NS")) Then
STRING012 = "NS"
STRING001 = Left(STRING001, InStr(STRING001, "NS") - 1) + Right(STRING001, Len(STRING001) - InStr(STRING001, "NS") + 1)
Endif
If (InStr(STRING001, YesChar())) STRING014 = YesChar() + ";"
If (InStr(STRING001, NoChar())) STRING016 = NoChar() + ";"
If (InStr(STRING001, "Q")) STRING013 = "Q;"
If (InStr(STRING001, "R")) STRING015 = "R;"
Endif
If ((BOOLEAN002 && (STRING016 == "")) && (STRING014 == "")) Then
STRING015 = "R;"
ElseIf ((BOOLEAN001 && (STRING016 == "")) && (STRING015 == "")) Then
STRING014 = YesChar() + ";"
Endif
If ((STRING015 <> "") && (STRING014 <> "")) STRING015 = ""
If ((STRING015 <> "") && (STRING016 <> "")) STRING015 = ""
If ((STRING014 <> "") && (STRING016 <> "")) STRING014 = ""
KbdStuff STRING015 + STRING014 + STRING016 + STRING013 + STRING012
If (BOOLEAN005) FClose 1
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 50 Goto
; 58 Let
; 1 Print
; 4 PrintLn
; 48 If
; 1 FAppend
; 2 FClose
; 6 FPut
; 11 FPutLn
; 1 InputStr
; 3 Delay
; 1 Tokenize
; 1 KbdStuff
; 9 SPrintLn
; 6 MPrint
;
;
; ■ Functions used :
;
; 60 +
; 5 -
; 19 ==
; 10 <>
; 1 <
; 2 <=
; 1 >=
; 33 !
; 11 &&
; 3 ||
; 5 Len(
; 7 Upper()
; 10 Mid()
; 2 Left()
; 2 Right()
; 1 Ferr()
; 12 Chr()
; 11 InStr()
; 1 Date()
; 1 Time()
; 3 NoChar()
; 3 YesChar()
; 2 PCBDat()
; 1 PPEPath()
; 2 ReadLine()
; 1 OnLocal()
; 4 GetToken()
; 6 MGetByte()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Md
;
; 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
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 4 While/EndWhile
; 18 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------