home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TOPUP09B.ZIP
/
HANGUP.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-07-16
|
7KB
|
255 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
Integer INTEGER001
Integer INTEGER002
Integer TINTEGER003(18)
Integer INTEGER004
String STRING001
String STRING002
String STRING003
String TSTRING004(11)
String TSTRING005(4)
;------------------------------------------------------------------------------
Goto LABEL002
:LABEL001
:LABEL002
If (INTEGER001) Goto LABEL001
TSTRING005(1) = "@X0F▐@X78 »@X7FYES@X78« @X08▌"
TSTRING005(2) = "@X0F▐@X78 »@X7FNO@X78« @X08▌"
TSTRING005(3) = "@X0F▐@X78 YES @X08▌"
TSTRING005(4) = "@X0F▐@X78 NO @X08▌"
TINTEGER003(1) = 8
TINTEGER003(2) = 1
TINTEGER003(3) = 9
TINTEGER003(4) = 3
TINTEGER003(5) = 3
TINTEGER003(6) = 11
TINTEGER003(7) = 11
TINTEGER003(8) = 15
TINTEGER003(9) = 15
TINTEGER003(10) = 15
TINTEGER003(11) = 15
TINTEGER003(12) = 11
TINTEGER003(13) = 11
TINTEGER003(14) = 3
TINTEGER003(15) = 3
TINTEGER003(16) = 9
TINTEGER003(17) = 1
TINTEGER003(18) = 8
TSTRING004(1) = "1o"
TSTRING004(2) = "o9"
TSTRING004(3) = "o8"
TSTRING004(4) = "o7"
TSTRING004(5) = "o6"
TSTRING004(6) = "o5"
TSTRING004(7) = "o4"
TSTRING004(8) = "o3"
TSTRING004(9) = "o2"
TSTRING004(10) = "o1"
TSTRING004(11) = "oo"
STRING003 = PcbNode()
If (STRING003 == 0) STRING003 = ""
FOpen 1, TempPath() + "HANGUP." + STRING003, 0, 0
FGet 1, BOOLEAN001
FClose 1
Delete TempPath() + "HANGUP." + STRING003
If (BOOLEAN001) Then
DispFile PPEPath() + "GFX\HANGUPS", 1 + 4
INTEGER004 = 1
Else
DispFile PPEPath() + "GFX\HANGUPN", 1 + 4
INTEGER004 = 2
Endif
KeyFlush
For INTEGER001 = 1 To 11
For INTEGER002 = 1 To 18
If (CDOn()) Then
AnsiPos 26, 12
Color TINTEGER003(INTEGER002)
Print TSTRING004(INTEGER001)
AnsiPos 54, 12
Print TSTRING004(INTEGER001)
If (GrafMode() == ("G" || "R")) AnsiPos 41, 14
Delay 1
STRING001 = Inkey()
If (STRING001 <> "") Then
INTEGER001 = 1
INTEGER002 = 0
STRING001 = Upper(STRING001)
If (STRING001 == Chr(27)) Goto LABEL003
If ((STRING001 == Chr(32)) || (STRING001 == Chr(13))) Then
If (INTEGER004 == 1) Goto LABEL004
If (INTEGER004 == 2) Goto LABEL003
Endif
If (STRING001 == "H") Goto LABEL004
If (STRING001 == YesChar()) Goto LABEL004
If (STRING001 == NoChar()) Goto LABEL003
If ((STRING001 == "LEFT") && (INTEGER004 > 1)) Then
AnsiPos 42, 12
Print TSTRING005(4)
AnsiPos 32, 12
Print TSTRING005(1)
INTEGER004 = 1
Endif
If ((STRING001 == "RIGHT") && (INTEGER004 < 2)) Then
AnsiPos 32, 12
Print TSTRING005(3)
AnsiPos 42, 12
Print TSTRING005(2)
INTEGER004 = 2
Endif
Endif
Next
Next
If (CDOn()) Then
If (INTEGER004 == 1) Goto LABEL004
If (INTEGER004 == 2) Goto LABEL003
:LABEL003
Color 7
Cls
End
Endif
Endif
:LABEL004
Newline
Color 7
Cls
DispText 435, 128 + 32768 + 256
MdmFlush
Delay 10
DtrOff
Delay 30
DispText 411, 128
STRING002 = ReadLine(PCBDat(), 56)
FClose -1
For INTEGER001 = 1 To Len(STRING002)
If ((Mid(STRING002, INTEGER001, 1) <> "~") && (Mid(STRING002, INTEGER001, 2) <> "^M")) SendModem Mid(STRING002, INTEGER001, 1)
If (Mid(STRING002, INTEGER001, 1) == "~") Delay 9
If (Mid(STRING002, INTEGER001, 2) == "^M") Then
SendModem Chr(13) + Chr(10)
Inc INTEGER001
Endif
Next
SendModem Chr(13) + Chr(10)
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 2 Cls
; 3 Color
; 25 Goto
; 51 Let
; 6 Print
; 24 If
; 2 DispFile
; 1 FOpen
; 2 FClose
; 1 FGet
; 1 Delete
; 1 DtrOff
; 4 Delay
; 3 SendModem
; 1 Inc
; 1 Newline
; 2 DispText
; 7 AnsiPos
; 1 MdmFlush
; 1 KeyFlush
;
;
; ■ Functions used :
;
; 1 -
; 413 +
; 16 ==
; 3 <>
; 4 <
; 3 <=
; 1 >
; 6 >=
; 410 !
; 9 &&
; 5 ||
; 2 Len(
; 1 Upper()
; 5 Mid()
; 7 Chr()
; 1 NoChar()
; 1 YesChar()
; 1 Inkey()
; 1 PCBDat()
; 2 PPEPath()
; 1 PcbNode()
; 1 ReadLine()
; 2 CDOn()
; 1 GrafMode()
; 2 TempPath()
;
;------------------------------------------------------------------------------
;
; Analysis flags : BMd
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
; 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()
;
;
;------------------------------------------------------------------------------
;
; One or more PPLC bugs were found, this is not a PPLX error, but PPLX is
; reporting the error ;) Some statements like VAR = !!!!10, VAR = !0*!0
; or similar things are not handled correctly by PPLC, some may use this
; to avoid a correct decompilation... This doesn't mean that there is
; actually an error, but the probability of error is high...
; ■ Search for : PPLC BUG
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 0 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------