home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
vrac
/
gl_nuke6.zip
/
NUKER.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-05-25
|
6KB
|
381 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 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
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
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
;------------------------------------------------------------------------------
STRING001 = "0.06ß"
Newline
PrintLn "@X01U@X09N@X0BR@X0FEAL NUKER v" + STRING001 + " by TaNiS [Unreal Reality - Gl@X0Bo@X09r@X01y]"
PrintLn "@X0F[FREEWARE] @X07version."
FOpen 1, PPEPath() + PPEName() + ".CFG", 2, 0
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING015
FGet 1, STRING023
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING026
FGet 1, STRING027
FGet 1, STRING028
FGet 1, STRING029
FGet 1, STRING030
FGet 1, STRING031
FGet 1, STRING032
FGet 1, STRING033
FGet 1, STRING034
FGet 1, STRING035
FGet 1, STRING036
FGet 1, STRING037
FGet 1, STRING038
FGet 1, STRING039
FGet 1, STRING040
FGet 1, STRING025
FOpen 2, PPEPath() + PPEName() + ".DAT", 2, 0
Newline
InputStr STRING027, STRING004, 15, 60, Mask_Ascii(), 0
Newline
PrintLn STRING028
If (STRING004 <> "") Then
FOpen 3, STRING002 + "DOWNLOAD.TXT", 2, 0
INTEGER001 = 0
:LABEL001
If (Ferr(3)) Goto LABEL010
FGet 3, STRING007
If ((InStr(Upper(STRING007), Upper(STRING004)) > 0) && (InStr(Upper(STRING007), "(U)") > 0)) Then
INTEGER001 = 1
STRING005 = Mid(STRING007, 5, InStr(Upper(STRING007), Upper(STRING004)) - 23)
Newline
PrintLn STRING029, STRING005
Newline
InputStr "@X0CDo you want to nuke @X0F" + Upper(STRING004) + "@X0F ", STRING006, 12, 1, "YNyn", 0
If (Upper(STRING006) == "Y") Then
FOpen 4, STRING003, 2, 0
INTEGER002 = 0
Newline
PrintLn STRING030
While (!Ferr(4) || (INTEGER002 == 0)) Do
FGet 4, STRING008
If (Exist(STRING008 + STRING004)) Then
INTEGER002 = 1
STRING014 = FileInf(STRING008 + STRING004, 4)
Delete STRING008 + STRING004
FCreate 5, STRING008 + STRING004, 2, 0
FClose 5
Newline
PrintLn "@X0FFile @X03", STRING008 + Upper(STRING004), " @X0Fnuked and 0-byted!"
INTEGER004 = 0
Newline
PrintLn STRING031
Newline
:LABEL002
If (Ferr(2)) Goto LABEL003
Inc INTEGER004
FGet 2, STRING010
PrintLn "@X07[@X0F", INTEGER004, "@X07]@X0F - ", STRING010
Goto LABEL002
:LABEL003
STRING012 = INTEGER004 + 1
While ((S2I(STRING012, 10) > INTEGER004) && (Upper(STRING012) <> "A")) Do
Newline
InputStr "@X0FSelect @X07[@X0F1@X07-@X0F" + I2S(INTEGER004, 10) + "@X07],[@X0FA@X07]@X0Fdd :_", STRING012, 15, 2, "1234567890Aa", 0
EndWhile
If (Upper(STRING012) == "A") Then
Newline
InputStr STRING032, STRING011, 15, 60, Mask_Ascii(), 0
FPutLn 2, STRING011
STRING009 = STRING011
Frewind 2
Goto LABEL004
Endif
Frewind 2
STRING009 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING012)
:LABEL004
Newline
Newline
PrintLn STRING033
FOpen 5, PPEPath() + "MESSAGE.TXT", 2, 0
FCreate 6, PPEPath() + "MESSAGE.$$$", 2, 0
:LABEL005
If (Ferr(5)) Goto LABEL006
FGet 5, STRING016
If (InStr(STRING016, "@USERNAME@") > 0) Then
STRING017 = Mid(STRING016, 1, InStr(STRING016, "@USERNAME@") - 1)
STRING017 = STRING017 + STRING005 + Mid(STRING016, InStr(STRING016, "@USERNAME@") + 10, 80 - InStr(STRING016, "@USERNAME@") + 10)
STRING016 = STRING017
Endif
If (InStr(STRING016, "@CREDITSNUKED@") > 0) Then
STRING017 = Mid(STRING016, 1, InStr(STRING016, "@CREDITSNUKED@") - 1)
STRING017 = STRING017 + STRING014 + Mid(STRING016, InStr(STRING016, "@CREDITSNUKED@") + 14, 80 - InStr(STRING016, "@CREDITSNUKED@") + 14)
STRING016 = STRING017
Endif
If (InStr(STRING016, "@REASON@") > 0) Then
STRING017 = Mid(STRING016, 1, InStr(STRING016, "@REASON@") - 1)
STRING017 = STRING017 + STRING009 + Mid(STRING016, InStr(STRING016, "@REASON@") + 8, 80 - InStr(STRING016, "@REASON@") + 8)
STRING016 = STRING017
Endif
If (InStr(STRING016, "@FILENAME@") > 0) Then
STRING017 = Mid(STRING016, 1, InStr(STRING016, "@FILENAME@") - 1)
STRING017 = STRING017 + Upper(STRING004) + Mid(STRING016, InStr(STRING016, "@FILENAME@") + 10, 80 - InStr(STRING016, "@FILENAME@") + 10)
STRING016 = STRING017
Endif
If (InStr(STRING016, "@NUKER@") > 0) Then
STRING017 = Mid(STRING016, 1, InStr(STRING016, "@NUKER@") - 1)
STRING017 = STRING017 + U_Name() + Mid(STRING016, InStr(STRING016, "@NUKER@") + 7, 80 - InStr(STRING016, "@NUKER@") + 7)
STRING016 = STRING017
Endif
FPutLn 6, STRING016
Goto LABEL005
:LABEL006
FClose 5
FClose 6
Message 0, STRING005, U_Name(), "NUKE!", "R", 0, 0, 0, PPEPath() + "MESSAGE.$$$"
Delete PPEPath() + "MESSAGE.$$$"
Newline
PrintLn STRING034
FOpen 5, STRING015, 2, 0
FCreate 6, PPEPath() + "UPLOAD.DIR", 2, 0
:LABEL007
If (Ferr(5)) Goto LABEL009
FGet 5, STRING019
If (InStr(Upper(STRING019), Upper(STRING004)) == 1) Then
STRING018 = Left(STRING019, 12) + STRING026 + " " + Mid(STRING019, 24, Len(STRING019) - 23)
FPutLn 6, STRING018
FGet 5, STRING019
While (InStr(Upper(STRING019), " |") > 0) Do
FPutLn 6, STRING019
FGet 5, STRING019
EndWhile
STRING018 = " | " + STRING009
FPutLn 6, STRING018
If (Upper(STRING021) == "Y") Then
If (Upper(STRING022) == "Y") Then
FOpen 7, STRING023, 2, 0
While (!Ferr(7) && (STRING024 <> U_Name())) Do
FGet 7, STRING024
EndWhile
If (STRING024 == U_Name()) Then
FGet 7, STRING024
STRING018 = " | Nuked by: @X0F" + STRING024
Goto LABEL008
Endif
STRING018 = " | Nuked by: @X0F" + U_Name()
:LABEL008
FClose 7
Endif
FPutLn 6, STRING018
Endif
Endif
FPutLn 6, STRING019
Goto LABEL007
:LABEL009
FClose 5
FClose 6
Delete STRING015
Copy PPEPath() + "UPLOAD.DIR", STRING015
Delete PPEPath() + "UPLOAD.DIR"
Newline
InputStr STRING035, STRING013, 15, 1, "YNyn", 0
If (Upper(STRING013) == "Y") Then
Newline
PrintLn STRING036
INTEGER003 = 1
GetAltUser 1
While (U_Name() <> Upper(STRING005)) Do
Inc INTEGER003
GetAltUser INTEGER003
EndWhile
If (CurUser() == -1) Then
PrintLn STRING037
Endif
If (CurUser() == 0) Then
PrintLn STRING038
Newline
InputStr STRING039, STRING020, 15, 1, "YNyn", 0
If (Upper(STRING020) == "Y") Then
INTEGER005 = S2I(STRING014, 10)
InputInt STRING040, INTEGER006, 15
AdjBytes INTEGER005 * INTEGER006
PrintLn "@X0FRemoving @X03" + STRING014 + "@X0F from user's account."
PutUser
Endif
Endif
If (U_Name() == Upper(STRING005)) Then
If (CurUser() <> 0) Then
INTEGER005 = S2I(STRING014, 10)
Newline
InputInt STRING040, INTEGER006, 15
AdjBytes INTEGER005 * INTEGER006
Newline
PrintLn "@X0FFound user: @X03" + U_Name() + "@X0F, @X03" + I2S(INTEGER005 * INTEGER006, 10) + "@X0F credits removed, message sent to @X03" + U_Name()
PutUser
Endif
Endif
Endif
Endif
EndWhile
FClose 4
Endif
Endif
Goto LABEL001
:LABEL010
FClose 3
Endif
If (INTEGER001 == 0) Then
PrintLn STRING025
Endif
FClose 2
FClose 1
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 41 Goto
; 33 Let
; 16 PrintLn
; 30 If
; 3 FCreate
; 7 FOpen
; 10 FClose
; 31 FGet
; 7 FPutLn
; 2 PutUser
; 4 Delete
; 6 InputStr
; 2 InputInt
; 2 Inc
; 19 Newline
; 1 Message
; 2 Frewind
; 2 AdjBytes
; 1 Copy
; 2 GetAltUser
;
;
; ■ Functions used :
;
; 1 -
; 3 *
; 59 +
; 12 -
; 13 ==
; 5 <>
; 9 >
; 32 !
; 3 &&
; 1 ||
; 1 Len(
; 20 Upper()
; 12 Mid()
; 1 Left()
; 6 Ferr()
; 25 InStr()
; 9 U_Name()
; 2 Mask_Ascii()
; 10 PPEPath()
; 1 ReadLine()
; 1 Exist()
; 2 I2S()
; 3 S2I()
; 1 FileInf()
; 3 PPEName()
; 3 CurUser()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WRa
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; R - Read user ■ 5
; User records are read, this may signify that someone wants to get
; various informations about a user (for example his password), but
; this may also be normal for a program accessing user records (for
; example a User Editor)
; ■ Search for : GETALTUSER
;
; a - Adjust ratio ■ 4
; User's ratio is adjusted by changing the amount of files/bytes
; uploaded. This may be normal for a user editor.
; ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 5 While/EndWhile
; 21 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------