home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
CCCSCHAT.ZIP
/
OCOMMAND.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-11-25
|
3KB
|
239 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
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
Time TIME001
Time TIME002
Time TIME003
;------------------------------------------------------------------------------
TIME001 = Time()
TIME002 = ReadLine(PCBDat(), 189)
TIME003 = ReadLine(PCBDat(), 190)
INTEGER005 = S2I(ReadLine(PPEPath() + "ocommand.cnf", 4), 10)
STRING011 = Lower(ReadLine(PPEPath() + "ocommand.cnf", 5))
If (Left(STRING011, 8) == "override") Then
If (Mid(STRING011, 9, 2) == "on") Then
BOOLEAN001 = 0
Else
BOOLEAN001 = 1
Endif
Else
STRING004 = ReadLine(PPEPath() + "ocommand.cnf", 5)
If (Right(STRING004, 1) == "\") Then
STRING004 = STRING004 + "pcboard.sys"
Else
STRING004 = STRING004 + "\pcboard.sys"
Endif
If (Mid(ReadLine(STRING004, 1), 6, 1) == "0") Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
Endif
STRING006 = Chr(7)
STRING007 = Chr(13)
STRING008 = Chr(27) + "["
STRING009 = STRING008 + "0;0H"
STRING010 = STRING008 + "K"
Newline
InputStr "@X07" + ReadLine(PPEPath() + "ocommand.cnf", 1), STRING005, 0, 60, Mask_Ascii(), 2 + 4096
If (STRING005 == "") End
Log "■ SCHAT: " + STRING005, 0
Newline
If (((TIME001 >= TIME002) && (TIME001 <= TIME003)) || (CurSec() >= SysopSec())) Then
If ((CurSec() >= SysopSec()) || !PageStat()) Then
PageOn
Newline
DispStr ReadLine(PPEPath() + "ocommand.cnf", 2)
STRING001 = ReadLine(PPEPath() + "ocommand.cnf", 3)
Gosub LABEL004
For INTEGER003 = 1 To INTEGER005
Print "."
MPrint STRING006
If (BOOLEAN001) Then
Delay 14
Goto LABEL001
Endif
For INTEGER004 = 110 To 1760 Step 10
Sound INTEGER004
Next
Sound 0
Delay 9
:LABEL001
STRING003 = KInkey()
If (STRING003 == " ") Then
STRING001 = ""
Gosub LABEL004
Call PPEPath() + "schat.ppe"
PageOff
End
Goto LABEL002
Endif
If (STRING003 == Chr(13)) Then
BOOLEAN001 = 1
Endif
:LABEL002
If (Abort()) INTEGER003 = INTEGER005 + 1
If (!PageStat()) End
Next
STRING001 = ""
Gosub LABEL004
If (Abort()) Then
ResetDisp
Newline
End
Goto LABEL003
Endif
Newline
Endif
Endif
:LABEL003
PageOn
DispText 128, 128 + 64
STRING002 = NoChar()
PromptStr 571, STRING002, 1, "", 16384 + 64 + 256 + 2 + 8
If (STRING002 == YesChar()) KbdStuff "C" + STRING007 + "Y" + STRING007
End
:LABEL004
INTEGER001 = GetX()
INTEGER002 = GetY()
SPrint STRING009, STRING010
SPrint STRING001
SPrint STRING008 + String(INTEGER002) + ";" + String(INTEGER001) + "H"
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 21 Goto
; 30 Let
; 1 Print
; 16 If
; 1 ResetDisp
; 1 Log
; 1 InputStr
; 3 Gosub
; 1 Return
; 1 PromptStr
; 2 Delay
; 5 Newline
; 1 DispText
; 1 KbdStuff
; 1 Call
; 1 DispStr
; 2 Sound
; 3 SPrint
; 1 MPrint
; 2 PageOn
; 1 PageOff
;
;
; ■ Functions used :
;
; 30 +
; 8 ==
; 2 <
; 3 <=
; 7 >=
; 14 !
; 5 &&
; 4 ||
; 1 Lower()
; 2 Mid()
; 1 Left()
; 1 Right()
; 4 Chr()
; 2 Abort()
; 1 Time()
; 1 NoChar()
; 1 YesChar()
; 2 String()
; 1 Mask_Ascii()
; 2 PCBDat()
; 7 PPEPath()
; 9 ReadLine()
; 2 SysopSec()
; 2 CurSec()
; 1 S2I()
; 1 GetX()
; 1 GetY()
; 1 KInkey()
; 2 PageStat()
;
;------------------------------------------------------------------------------
;
; Analysis flags : MCds
;
; 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
;
; 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()
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 10 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------