home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
WIPEV073.ZIP
/
WIPE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-18
|
31KB
|
1,356 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean TBOOLEAN013(49)
Boolean BOOLEAN014
Boolean BOOLEAN015
Boolean TBOOLEAN016(79)
Boolean BOOLEAN017
Boolean BOOLEAN018
DWord DWORD001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(49,2)
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String TSTRING014(10)
String TSTRING015(79)
String TSTRING016(79)
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String TSTRING023(5)
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String TSTRING033(7)
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
;------------------------------------------------------------------------------
STRING001 = "0.73ß"
STRING002 = "03/18/93"
STRING029 = "(C) Thrust Brothers"
STRING028 = " - Legends will never die..."
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "Using: @X03Wipe V" + STRING001, " "
Goto LABEL073
:LABEL001
STRING007 = ReadLine(PCBDat(), 31)
INTEGER006 = ReadLine(PCBDat(), 108)
For INTEGER011 = 0 To INTEGER006
TSTRING008(INTEGER011, 0) = ReadLine(STRING007, INTEGER007)
TSTRING008(INTEGER011, 1) = ReadLine(STRING007, INTEGER007 + INTEGER005)
TSTRING008(INTEGER011, 2) = ReadLine(STRING007, INTEGER007 + INTEGER005 + 1)
INTEGER007 = INTEGER007 + INTEGER004
Next
FClose -1
Return
:LABEL002
If (OnLocal()) Goto LABEL003
STRING032 = ""
For INTEGER020 = 1 To Len(STRING031)
STRING032 = STRING032 + Chr(Asc(Mid(STRING031, INTEGER020, 1)) + 30)
Next
STRING031 = STRING032
STRING032 = ""
For INTEGER020 = 1 To Len(STRING030)
STRING032 = STRING032 + Chr(Asc(Mid(STRING030, INTEGER020, 1)) + 30)
Next
STRING030 = STRING032
:LABEL003
Return
:LABEL004
Newline
If (BOOLEAN002 == 1) Then
PrintLn "@X03WIPE @X0Btries to update current DIR now. Please wait!"
STRING003 = "dirmod"
STRING004 = TSTRING008(CurConf(), 1)
Shell 1, INTEGER001, STRING003, STRING004
PrintLn "@X03WIPE @X0Bwill adjust bytes as soon as aflicted user(s) relogon(s)"
Newline
Endif
Print "@X03WIPE [PPE2] V", STRING001, " ", STRING002, " @X09"
MPrintLn STRING031, STRING030
SPrintLn STRING029, STRING028
If (OnLocal()) Goto LABEL005
Log "@X03WIPE [PPE2] V" + STRING001 + " @X09" + STRING029 + " - User: " + U_Name(), 1
:LABEL005
End
:LABEL006
INTEGER021 = ""
Newline
PrintLn " @X0EFollowing @X0BConferences@X0E available as destination:"
Newline
For INTEGER016 = 0 To INTEGER006 - 1
TBOOLEAN013(INTEGER016) = 0
If (INTEGER016 == CurConf()) Continue
If (TSTRING008(INTEGER016, 1) == "") Continue
If (U_InConf(U_RecNum(UN_Name()), INTEGER016) == 1) Then
TBOOLEAN013(INTEGER016) = 1
PrintLn " @X0EConference @X03", Right(Space(1) + String(INTEGER016), 2), "@X0E: @X0B", TSTRING008(INTEGER016, 0)
Endif
Next
Newline
While (INTEGER021 == "") Do
InputStr " @X0EEnter @X03# @X0Eof destination Conference: ", INTEGER021, 9, 2, Mask_Num(), 32 + 2
If (INTEGER021 == "") Then
Break
Endif
If ((TBOOLEAN013(INTEGER021) == 1) && (INTEGER021 < INTEGER006)) Then
Break
Endif
If (INTEGER021 > INTEGER006 - 1) Then
INTEGER021 = ""
Continue
Endif
If (TBOOLEAN013(INTEGER021) == 0) Then
INTEGER021 = ""
Continue
Endif
EndWhile
If (INTEGER021 == "") Then
Return
Endif
PrintLn " @X0BMoving @X0E", Right(Space(1) + String(INTEGER009 + 1), 2), " @X0BFile(s) from: @X0E", TSTRING008(CurConf(), 0), " @X0Bto: @X0E", TSTRING008(INTEGER021, 0)
Newline
STRING017 = "n"
InputYN "@XC3MOVE@X0E it (no return!)", STRING017, 3
FreshLine
If (Upper(STRING017) == "N") Then
Return
Endif
StartDisp 1
Newline
For INTEGER016 = 0 To INTEGER009
PrintLn "@X03MOVE @X0Bis moving @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " "), " @X0Bfrom: @X0E", TSTRING008(CurConf(), 0), " @X0Bto: @X0E", TSTRING008(INTEGER021, 0)
STRING003 = PPEPath() + "move.exe"
STRING004 = TSTRING008(CurConf(), 2) + RTrim(Left(TSTRING015(INTEGER016), 12), " ") + " " + TSTRING008(INTEGER021, 2) + " /O"
Shell 1, INTEGER001, STRING003, STRING004
If (Exist(PPEPath() + PPEName() + ".mov")) Goto LABEL007
FAppend 2, PPEPath() + PPEName() + ".mov", 2, 0
FPutLn 2, "Source: │Filename: │To Dest: │Movedate:│ Moved by:"
FPutLn 2, "──────────────┼────────────┼──────────────┼─────────┼──────────────────────────"
FClose 2
:LABEL007
FAppend 2, PPEPath() + PPEName() + ".mov", 2, 0
FPut 2, Left(TSTRING008(CurConf(), 0) + Space(14), 14)
FPut 2, "│"
FPut 2, Left(TSTRING015(INTEGER016), 12)
FPut 2, "│"
FPut 2, Left(TSTRING008(INTEGER021, 0) + Space(14), 14)
FPut 2, "│ "
FPut 2, Date()
FPut 2, "│ "
FPut 2, Left(UN_Name() + Space(25), 25)
FPut 2, Chr(13) + Chr(10)
FClose 2
FAppend 2, TSTRING008(CurConf(), 1) + ".MOD", 2, 0
FPut 2, " |" + TSTRING015(INTEGER016) + Chr(13) + Chr(10)
FClose 2
Next
BOOLEAN002 = 1
STRING018 = "Move to Conf: " + TSTRING008(INTEGER021, 0) + " by System."
FAppend 2, TSTRING008(CurConf(), 1) + ".MOD", 2, 0
FPut 2, " | " + STRING018 + Chr(13) + Chr(10)
If (BOOLEAN011 == 1) Then
FPut 2, " |" + Chr(13) + Chr(10)
Endif
FClose 2
FAppend 2, TSTRING008(INTEGER021, 1) + ".ADD", 2, 0
For INTEGER016 = 0 To INTEGER009
FPut 2, Left(TSTRING015(INTEGER016), 23)
FPut 2, Date()
FPutLn 2, Mid(TSTRING015(INTEGER016), 32, Len(TSTRING015(INTEGER016)) - 1)
Next
For INTEGER016 = INTEGER009 + 1 To INTEGER008 - 1
FPutLn 2, TSTRING015(INTEGER016)
Next
FClose 2
Newline
PrintLn "@X03MOVE @X0Bis adding changes to: @X0E", TSTRING008(INTEGER021, 0)
STRING003 = "dirmod.exe"
STRING004 = TSTRING008(INTEGER021, 1)
Shell 1, INTEGER001, STRING003, STRING004
Newline
StartDisp 0
Return
:LABEL008
Gosub LABEL009
If (BOOLEAN010 == 1) Then
PrintLn " @X01(@X0EN@X01)@X0BList Filedir @X01(@X0EW@X01)@X0Bipe File"
PrintLn " @X01(@X0EZ@X01)@X0Bippy Scan for File @X01(@X0EC@X01)@X0Breate DUMMY.EXT"
PrintLn " @X01(@X0EQ@X01)@X0Buit @X03WIPE @X01(@X0ED@X01)@X0Bescribe File"
PrintLn " @X01(@X0EM@X01)@X0Bove File between Confs"
Newline
PrintLn " @X03Current Conference-filelist to edit: @X0B", TSTRING008(CurConf(), 0)
Print " @X03User ", U_Name(), " allowed to "
If (BOOLEAN003 == 1) Then
Print "DEL_FILES/"
Endif
If (BOOLEAN004 == 1) Then
Print "DEL_CREDS/"
Endif
PrintLn "MOVE Files"
Else
PrintLn " @X01(@X0EN@X01)@X0BList Filedir @X01(W)ipe File"
PrintLn " @X01(@X0EZ@X01)@X0Bippy Scan for File @X01(C)reate DUMMY.EXT"
PrintLn " @X01(@X0EQ@X01)@X0Buit @X03WIPE @X01(@X0ED@X01)@X0Bescribe File"
PrintLn " @X01(@X0EM@X01)@X0Bove File between Confs"
Newline
PrintLn " @X03Current Conference-filelist to edit: @X0B", TSTRING008(CurConf(), 0)
Endif
Return
:LABEL009
Cls
Newline
Print " @X03WIPE [PPE2] V", STRING001, " ", STRING002, " @X09"
MPrintLn STRING031, STRING030
SPrintLn STRING029, STRING028
PrintLn " @X0E---------------------------------------------------------------------------"
Return
:LABEL010
Gosub LABEL009
STRING036 = ""
STRING037 = ""
STRING034 = ""
STRING035 = ""
BOOLEAN014 = 0
Newline
InputStr " @X0EEnter DUMMY-Filename: @X0B", STRING012, 9, 12, Mask_Ascii(), 2 + 8 + 256
If (STRING012 == "") Then
Return
Endif
If (InStr(STRING012, "?") == 0) Goto LABEL011
STRING036 = Left(STRING012, InStr(STRING012, "?") - 1)
STRING037 = Mid(STRING012, InStr(STRING012, "?") + 1, Len(STRING012) - InStr(STRING012, "?"))
STRING037 = LTrim(STRING037, "?")
STRING034 = "1"
InputStr " @X0EEnter Start-Value: @X0B", STRING034, 9, 2, Mask_File(), 2 + 8 + 256
STRING035 = "9"
InputStr " @X0EEnter End-Value: @X0B", STRING035, 9, 2, Mask_File(), 2 + 8 + 256
If ((Len(STRING034) > 1) && (Left(STRING034, 1) == "0")) Then
BOOLEAN014 = 1
Endif
If (!(ToInteger(STRING034) == 0) && !(ToInteger(STRING035) == 0)) Then
INTEGER022 = ToInteger(STRING035) - ToInteger(STRING034)
INTEGER011 = 0
While (((1 < 0) && (INTEGER011 >= ToInteger(STRING035) - ToInteger(STRING034))) || ((1 >= 0) && (INTEGER011 <= ToInteger(STRING035) - ToInteger(STRING034)))) Do
TSTRING015(INTEGER011) = STRING036
If ((BOOLEAN014 == 1) && (INTEGER011 + 1 < 10)) Then
TSTRING015(INTEGER011) = TSTRING015(INTEGER011) + "0"
Endif
TSTRING015(INTEGER011) = TSTRING015(INTEGER011) + String(INTEGER011 + 1) + STRING037
INTEGER011 = INTEGER011 + 1
EndWhile
Else
INTEGER022 = Asc(STRING035) - Asc(STRING034)
INTEGER011 = 0
While (((1 < 0) && (INTEGER011 >= Asc(STRING035) - Asc(STRING034))) || ((1 >= 0) && (INTEGER011 <= Asc(STRING035) - Asc(STRING034)))) Do
If (INTEGER011 < 9) Then
TSTRING015(INTEGER011) = STRING036 + Chr(Asc(STRING034) + INTEGER011) + STRING037
Endif
If ((INTEGER011 > 15) && (INTEGER011 < 43)) Then
TSTRING015(INTEGER011) = STRING036 + Chr(Asc(STRING034) + INTEGER011) + STRING037
Endif
INTEGER011 = INTEGER011 + 1
EndWhile
Endif
Goto LABEL012
:LABEL011
TSTRING015(0) = STRING012
INTEGER022 = 0
:LABEL012
STRING017 = "n"
InputYN " @X0ESure", STRING017, 3
If ((STRING017 == "y") || (STRING017 == "Y")) Then
FreshLine
Newline
For INTEGER011 = 0 To INTEGER022
If (TSTRING015(INTEGER011) == "") Continue
If (Exist(TSTRING008(CurConf(), 2) + TSTRING015(INTEGER011))) Goto LABEL015
If (Exist(STRING021 + TSTRING015(INTEGER011))) Goto LABEL014
If (STRING006 == "") Goto LABEL013
FAppend 2, STRING006, 2, 0
FPutLn 2, Left(TSTRING015(INTEGER011), 12)
FClose 2
:LABEL013
FOpen 2, STRING021 + TSTRING015(INTEGER011), 1, 0
If (Ferr(2)) Goto LABEL014
If (BOOLEAN001 == 0) Then
FPut 2, TSTRING015(INTEGER011) + " DUMMY" + Chr(13) + Chr(10)
Endif
FClose 2
:LABEL014
STRING003 = "attrib.exe"
STRING004 = "+r " + STRING021 + Left(TSTRING015(INTEGER011), 12)
Shell 0, INTEGER001, STRING003, STRING004
FAppend 2, PPEPath() + PPEName() + ".del", 2, 0
FPut 2, "attrib -r " + STRING021 + TSTRING015(INTEGER011) + Chr(13) + Chr(10)
FPut 2, "del " + STRING021 + TSTRING015(INTEGER011) + Chr(13) + Chr(10)
FClose 2
PrintLn " @X03", TSTRING015(INTEGER011), " @X0EDUMMY created!"
Continue
:LABEL015
PrintLn " @X03", TSTRING015(INTEGER011), " exist! @X0EDUMMY file could @X8CNOT @X0Ebe created!"
Next
Newline
Wait
Endif
Return
:LABEL016
BOOLEAN015 = 0
Gosub LABEL009
Dec INTEGER008
If (Len(TSTRING015(INTEGER008)) < 34) Then
Dec INTEGER008
Endif
INTEGER010 = 0
For INTEGER016 = 0 To INTEGER008
If (InStr(TSTRING015(INTEGER016), STRING026) == 0) Goto LABEL017
TSTRING014(INTEGER010) = TSTRING015(INTEGER016)
Inc INTEGER010
Continue
:LABEL017
If (InStr(TSTRING015(INTEGER016), STRING027) == 0) Continue
TSTRING014(INTEGER010) = TSTRING015(INTEGER016)
Inc INTEGER010
Continue
Next
TSTRING014(INTEGER010) = ""
INTEGER024 = 0
For INTEGER012 = 0 To INTEGER009
TBOOLEAN016(INTEGER012) = 0
STRING032 = Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33)
For INTEGER023 = 0 To INTEGER017
If (InStr(STRING032, TSTRING033(INTEGER023)) == 0) Continue
Inc INTEGER024
Next
Print "@X0E", Left(TSTRING015(INTEGER012), 12), "@X03", Mid(TSTRING015(INTEGER012), 14, 19), " @X0B", Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33)
AnsiPos 31, GetY()
STRING038 = STRING032
InputText "", STRING032, 11, 45
FreshLine
If (STRING032 == "") Then
STRING032 = STRING038
Endif
If (STRING038 == STRING032) Goto LABEL018
For INTEGER023 = 0 To INTEGER017
If (InStr(STRING032, TSTRING033(INTEGER023)) == 0) Continue
STRING032 = STRING038
Next
If (STRING032 == STRING038) Goto LABEL018
TBOOLEAN016(INTEGER012) = 1
BOOLEAN015 = 1
:LABEL018
If (STRING032 == "") Goto LABEL019
TSTRING015(INTEGER012) = Left(TSTRING015(INTEGER012), 33) + STRING032
:LABEL019
AnsiPos 1, GetY() - 1
PrintLn "@X0E", Left(TSTRING015(INTEGER012), 12), "@X03", Mid(TSTRING015(INTEGER012), 14, 19), " @X0B", Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33), " "
For INTEGER023 = 0 To INTEGER017
If (InStr(STRING032, TSTRING033(INTEGER023)) == 0) Continue
Dec INTEGER024
Next
Next
If (INTEGER008 - INTEGER009 - INTEGER010 > 0) Then
For INTEGER012 = INTEGER009 + 1 To INTEGER008 - INTEGER010
STRING032 = Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33)
Print "@X0E", Left(TSTRING015(INTEGER012), 12), "@X03", Mid(TSTRING015(INTEGER012), 14, 19), " @X0B", Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33)
AnsiPos 31, GetY()
InputText "", STRING032, 11, 45
FreshLine
If (STRING032 == "") Goto LABEL020
TSTRING015(INTEGER012) = Left(TSTRING015(INTEGER012), 33) + STRING032
Goto LABEL021
:LABEL020
TSTRING015(INTEGER012) = Left(TSTRING015(INTEGER012), 33)
Break
:LABEL021
AnsiPos 1, GetY() - 1
PrintLn "@X0E", Left(TSTRING015(INTEGER012), 12), "@X03", Mid(TSTRING015(INTEGER012), 14, 19), " @X0B", Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33), " "
Next
Endif
INTEGER012 = 0
INTEGER016 = INTEGER008 + 1 - INTEGER010
:LABEL022
If (STRING032 == "") Goto LABEL025
STRING032 = ""
AnsiPos 31, GetY()
InputText "", STRING032, 11, 45
FreshLine
If (STRING032 == "") Goto LABEL023
TSTRING015(INTEGER016) = " | " + STRING032
AnsiPos 1, GetY() - 1
PrintLn "@X0E", Left(TSTRING015(INTEGER016), 12), "@X03", Mid(TSTRING015(INTEGER016), 14, 19), " @X0B", Mid(TSTRING015(INTEGER016), 34, Len(TSTRING015(INTEGER016)) - 33), " "
Goto LABEL024
:LABEL023
Goto LABEL025
:LABEL024
Inc INTEGER012
Inc INTEGER016
If (INTEGER012 == 5) Then
Goto LABEL025
Endif
Goto LABEL022
:LABEL025
Gosub LABEL009
For INTEGER012 = 0 To INTEGER016 - 1
If (Len(TSTRING015(INTEGER012)) > 34) Then
PrintLn "@X0E", Left(TSTRING015(INTEGER012), 12), "@X03", Mid(TSTRING015(INTEGER012), 13, 20), " @X0B", Mid(TSTRING015(INTEGER012), 34, Len(TSTRING015(INTEGER012)) - 33)
Endif
Next
INTEGER002 = INTEGER012
INTEGER012 = 0
:LABEL026
If (TSTRING014(INTEGER012) == "") Goto LABEL027
PrintLn TSTRING014(INTEGER012)
Inc INTEGER012
Goto LABEL026
:LABEL027
If (BOOLEAN011 == 1) Then
PrintLn " |"
Endif
Newline
If (BOOLEAN015 == 1) Then
STRING017 = "n"
InputYN "@XC3DES@X0Escribe it (last question)", STRING017, 3
FreshLine
If (Upper(STRING017) == "Y") Then
FAppend 2, TSTRING008(CurConf(), 1) + ".mod", 2, 0
For INTEGER012 = 0 To INTEGER002 - 1
FPutLn 2, TSTRING015(INTEGER012)
Next
INTEGER012 = 0
:LABEL028
If (TSTRING014(INTEGER012) == "") Goto LABEL029
FPut 2, TSTRING014(INTEGER012) + Chr(13) + Chr(10)
Inc INTEGER012
Goto LABEL028
:LABEL029
If (BOOLEAN011 == 1) Then
FPut 2, " |" + Chr(13) + Chr(10)
Endif
FClose 2
FAppend 2, PPEPath() + PPEName() + ".DCM", 1, 0
FPutLn 2, "┌─────────────────────────┬────────────────┬─────────────────┐"
FPut 2, "│"
FPut 2, Left(U_Name() + Space(25), 25)
FPut 2, "│CDate: "
FPut 2, Date()
FPut 2, " │ CTime: "
FPut 2, Time()
FPut 2, " │"
FPut 2, Chr(13) + Chr(10)
FPutLn 2, "└─────────────────────────┴────────────────┴─────────────────┘"
For INTEGER012 = 0 To INTEGER009
FPutLn 2, TSTRING015(INTEGER012)
Next
FClose 2
PrintLn "@XC3DES@X0Escribe has written @X03.MOD @X0E file to System."
PrintLn "@X03WIPE @X0Btries to update current DIR now. Please wait!"
STRING003 = "dirmod.exe"
STRING004 = TSTRING008(CurConf(), 1)
Shell 1, INTEGER001, STRING003, STRING004
Newline
BOOLEAN002 = 1
If ((INTEGER018 > 0) && !(INTEGER024 == 0)) Then
For INTEGER012 = 0 To INTEGER009
If (TBOOLEAN016(INTEGER012) == 1) Then
Delete "down.tmp"
PrintLn "@X03WIPE @X0Bis searching @X0E", RTrim(Left(TSTRING015(INTEGER012), 12), " "), " @X0Bin DOWNLOAD.TXT."
STRING003 = PPEPath() + "down.exe"
STRING004 = STRING025 + " ," + RTrim(Left(TSTRING015(INTEGER012), 12), " ")
Shell 1, INTEGER001, STRING003, STRING004
DWORD001 = 0
DWORD001 = FileInf(TSTRING008(CurConf(), 2) + RTrim(Left(TSTRING015(INTEGER012), 12), " "), 4)
If (DWORD001 > 0) Then
INTEGER014 = -1
If (Exist("down.tmp")) Then
FOpen 2, "down.tmp", 0, 0
FGet 2, STRING019
:LABEL030
If (Ferr(2)) Goto LABEL031
If (Left(STRING019, 4) == "(U),") Then
Inc INTEGER014
STRING019 = Right(STRING019, Len(STRING019) - 4)
INTEGER015 = InStr(STRING019, ",")
TSTRING016(INTEGER014) = Left(STRING019, INTEGER015 - 1)
TSTRING016(INTEGER014) = TSTRING016(INTEGER014) + Space(26 - Len(TSTRING016(INTEGER014))) + "-" + Right(Space(8) + String(INTEGER018), 8) + Space(2) + Left(TSTRING015(INTEGER012), 12) + Space(2) + "Insufficant DES"
Endif
FGet 2, STRING019
Goto LABEL030
:LABEL031
FClose 2
Endif
If (INTEGER014 == -1) Goto LABEL033
If (BOOLEAN006 == 0) Then
PrintLn "@X03DESCRIBE @X0Bfound ", INTEGER014 + 1, " aflicted user for @X0E", RTrim(Left(TSTRING015(INTEGER012), 12), " ")
Goto LABEL032
Endif
PrintLn "@X03DESCRIBE @X0Banalyzed for: @X0EBytes Filename"
PrintLn "@X03---------------------------------------------------------------------"
:LABEL032
FAppend 2, PPEPath() + PPEName() + ".adj", 2, 0
For INTEGER013 = 0 To INTEGER014
FPut 2, TSTRING016(INTEGER013) + Chr(13) + Chr(10)
If (BOOLEAN006 == 1) Then
PrintLn "@X0E", Left(TSTRING016(INTEGER013), 26), "@X0C", Mid(TSTRING016(INTEGER013), 27, 1), " @X03", Mid(TSTRING016(INTEGER013), 28, 8), " @X0E", Mid(TSTRING016(INTEGER013), 38, 31)
Endif
Next
FClose 2
Goto LABEL034
:LABEL033
PrintLn "@X03DESCRIBE @X0Bhas not found any aflicted user for @X0E", RTrim(Left(TSTRING015(INTEGER012), 12), " ")
:LABEL034
Continue
Endif
PrintLn "@X03DESCRIBE @X0Bhas not found @X0E", RTrim(Left(TSTRING015(INTEGER012), 12), " "), " @X0B in DLPatch.!"
Endif
Next
Endif
If (INTEGER019 > 0) Then
If (INTEGER024 > 0) Then
STRING024 = String(U_Bdl())
PrintLn "@X03-------------------------------------------------------------------------------"
Print "@X03DESCRIBE @X0Breports an old download-status with: @X0E"
STRING005 = STRING024
Gosub LABEL068
PrintLn " @X0Bbytes."
For INTEGER012 = 1 To INTEGER024
AdjBytes -ToDWord(INTEGER019)
Next
Print "@X03DESCRIBE @X0Breports a new download-status with: @X0E"
STRING005 = String(U_Bdl())
Gosub LABEL068
PrintLn " @X0Bbytes."
PrintLn "@X03-------------------------------------------------------------------------------"
Endif
Endif
Endif
Endif
Return
:LABEL035
Gosub LABEL009
Print " @X0EEnter Filename to "
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 0)) Then
Print "@X03WIPE@X0E: "
Endif
If ((BOOLEAN009 == 1) && (BOOLEAN012 == 0)) Then
Print "@X03DES@X0Ecribe: "
Endif
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 1)) Then
Print "@X03MOVE@X0E: "
Endif
InputStr "@X0B", STRING012, 9, 12, Mask_File(), 2 + 8 + 256
If (STRING012 == "") Then
Return
Endif
:LABEL036
STRING017 = ""
Gosub LABEL009
If (Len(STRING012) < 3) Then
PrintLn " @X0B", STRING012, " @X03is too short for efficient match(es)! Min length are @X0B3 chars."
Wait
Return
Endif
PrintLn " @X03Scanning Filelist: @X0B", TSTRING008(CurConf(), 0), " @X03for @X0B", STRING012
Delete "wipe.tmp"
STRING003 = PPEPath() + PPEName() + ".EXE"
STRING004 = TSTRING008(CurConf(), 1) + " " + STRING012
Shell 1, INTEGER001, STRING003, STRING004
FOpen 1, "wipe.tmp", 0, 0
BOOLEAN005 = 0
If (Ferr(1)) Goto LABEL043
FGet 1, STRING032
:LABEL037
If (Ferr(1)) Goto LABEL042
INTEGER008 = 0
:LABEL038
If (Left(STRING032, 1) == " ") Goto LABEL039
TSTRING015(INTEGER008) = STRING032
Inc INTEGER008
FGet 1, STRING032
If (Ferr(1)) Then
BOOLEAN005 = 1
Else
If (Inkey() == Chr(27)) Then
Goto LABEL039
Endif
Goto LABEL038
Endif
:LABEL039
If (Inkey() == Chr(27)) Then
Goto LABEL042
Endif
INTEGER009 = INTEGER008 - 1
If (BOOLEAN005 == 1) Then
Goto LABEL042
Endif
While (Left(STRING032, 1) == " ") Do
If (Left(STRING032, 2) == " |") Goto LABEL040
TSTRING015(INTEGER008) = STRING032
Inc INTEGER008
:LABEL040
FGet 1, STRING032
If (Ferr(1)) Then
BOOLEAN005 = 1
Break
Endif
If (Inkey() == Chr(27)) Then
Break
Endif
EndWhile
If (INTEGER008 == 0) Goto LABEL041
Gosub LABEL009
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 0)) Then
Print "@X03WIPE"
Endif
If ((BOOLEAN009 == 1) && (BOOLEAN012 == 0)) Then
Print "@X03DESCRIBE"
Endif
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 1)) Then
Print "@X03MOVE"
Endif
PrintLn " @X0Efound this information: "
Newline
For INTEGER011 = 0 To INTEGER008 - 1
PrintLn TSTRING015(INTEGER011)
Next
STRING017 = "n"
Newline
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 0)) Then
InputYN "@XC3WIPE@X0E it", STRING017, 3
FreshLine
Endif
If ((BOOLEAN009 == 1) && (BOOLEAN012 == 0)) Then
InputYN "@XC3DESCRIBE@X0E it", STRING017, 3
FreshLine
Endif
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 1)) Then
InputYN "@XC3MOVE@X0E it", STRING017, 3
FreshLine
Endif
If (Upper(STRING017) == "Y") Then
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 0)) Then
Gosub LABEL044
Endif
If ((BOOLEAN009 == 1) && (BOOLEAN012 == 0)) Then
Gosub LABEL016
Endif
If ((BOOLEAN009 == 0) && (BOOLEAN012 == 1)) Then
Gosub LABEL006
Endif
Endif
STRING017 = "y"
FreshLine
InputYN "@X0EDisplay next data?", STRING017, 3
FreshLine
If (STRING017 == "N") Then
FClose 1
Return
Endif
:LABEL041
If (BOOLEAN005 == 1) Then
Goto LABEL042
Endif
Goto LABEL037
:LABEL042
FClose 1
:LABEL043
Return
:LABEL044
If (TSTRING023(0) == "") Goto LABEL045
For INTEGER016 = 0 To INTEGER003
PrintLn " @X03#", INTEGER016 + 1, ": ", TSTRING023(INTEGER016)
Next
:LABEL045
If (Left(STRING018, 2) == "@X") Then
STRING018 = Mid(STRING018, 5, Len(STRING018) - 4)
Endif
InputStr " @X0EEnter FAKE Comment: ", STRING018, 9, 39, Mask_Ascii(), 2 + 8 + 32
STRING017 = "n"
If (STRING018 == "") Then
STRING018 = "@X0FFAKE - NO REASON GIVEN"
Endif
If (Len(STRING018) == 1) Then
STRING018 = TSTRING023(ToInteger(STRING018) - 1)
Endif
If (Left(STRING018, 2) == "@X") Goto LABEL046
STRING018 = "@X0F" + STRING018
:LABEL046
INTEGER016 = Len(STRING018)
PrintLn " @X0EEnter FAKE Comment: ? (", STRING018 + Space(43 - INTEGER016) + "@X0E)"
BOOLEAN017 = 0
If (BOOLEAN003 == 1) Then
STRING017 = "m"
InputStr " @X0EDelete file(s) or move file(s): ", STRING017, 9, 1, "mMdD", 2 + 8 + 32
If (STRING017 == "D") Then
BOOLEAN017 = 1
Endif
Endif
BOOLEAN018 = 0
If (BOOLEAN004 == 1) Then
STRING017 = "n"
InputStr " @X0EShould @X03WIPE @X0Eadjust bytes for file(s)/user(s): ", STRING017, 9, 1, "yYnN", 2 + 8 + 32
If (STRING017 == "Y") Then
BOOLEAN018 = 1
Endif
Endif
STRING017 = "n"
InputYN "@XC3WIPE@X0E it (no return!)", STRING017, 3
FreshLine
If (Upper(STRING017) == "N") Then
Return
Endif
Newline
INTEGER010 = -1
For INTEGER016 = INTEGER009 + 1 To INTEGER008 - 1
TSTRING015(INTEGER016) = StripAtx(TSTRING015(INTEGER016))
INTEGER015 = InStr(TSTRING015(INTEGER016), STRING026)
If (INTEGER015 == 0) Goto LABEL047
INTEGER015 = INTEGER015 + Len(STRING026)
:LABEL047
If (INTEGER015 == 0) Then
INTEGER015 = InStr(TSTRING015(INTEGER016), STRING027)
If (INTEGER015 == 0) Goto LABEL048
INTEGER015 = INTEGER015 + Len(STRING027)
Endif
:LABEL048
If (INTEGER015 == 0) Continue
Inc INTEGER010
TSTRING014(INTEGER010) = LTrim(Mid(TSTRING015(INTEGER016), INTEGER015, Len(TSTRING015(INTEGER016)) - INTEGER015 + 1), " ")
Next
StartDisp 1
For INTEGER016 = 0 To INTEGER009
If (BOOLEAN018 == 1) Then
Delete "down.tmp"
PrintLn "@X03WIPE @X0Bis searching @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " "), " @X0Bin DOWNLOAD.TXT."
STRING003 = PPEPath() + "down.exe"
STRING004 = STRING025 + " ," + RTrim(Left(TSTRING015(INTEGER016), 12), " ")
Shell 1, INTEGER001, STRING003, STRING004
DWORD001 = 0
DWORD001 = FileInf(TSTRING008(CurConf(), 2) + RTrim(Left(TSTRING015(INTEGER016), 12), " "), 4)
If (DWORD001 > 0) Then
INTEGER014 = -1
If (Exist("down.tmp")) Then
FOpen 2, "down.tmp", 0, 0
FGet 2, STRING019
:LABEL049
If (Ferr(2)) Goto LABEL050
If (Left(STRING019, 4) == "(D),") Then
Inc INTEGER014
STRING019 = Right(STRING019, Len(STRING019) - 4)
INTEGER015 = InStr(STRING019, ",")
TSTRING016(INTEGER014) = Left(STRING019, INTEGER015 - 1)
TSTRING016(INTEGER014) = TSTRING016(INTEGER014) + Space(26 - Len(TSTRING016(INTEGER014))) + "+" + Right(Space(8) + String(DWORD001), 8) + Space(2) + Left(TSTRING015(INTEGER016), 12) + Space(2) + Mid(STRING019, INTEGER015 + 1, 10) + Space(2) + Mid(STRING019, INTEGER015 + 12, 5)
Endif
If (Left(STRING019, 4) == "(U),") Then
Inc INTEGER014
STRING019 = Right(STRING019, Len(STRING019) - 4)
INTEGER015 = InStr(STRING019, ",")
TSTRING016(INTEGER014) = Left(STRING019, INTEGER015 - 1)
TSTRING016(INTEGER014) = TSTRING016(INTEGER014) + Space(26 - Len(TSTRING016(INTEGER014))) + "-" + Right(Space(8) + String(DWORD001), 8) + Space(2) + Left(TSTRING015(INTEGER016), 12) + Space(2) + Mid(STRING019, INTEGER015 + 1, 10) + Space(2) + Mid(STRING019, INTEGER015 + 12, 5)
Endif
FGet 2, STRING019
Goto LABEL049
:LABEL050
FClose 2
Endif
If (INTEGER014 == -1) Goto LABEL052
If (BOOLEAN006 == 0) Then
PrintLn "@X03WIPE @X0Bfound ", INTEGER014 + 1, " aflicted user for @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " ")
Goto LABEL051
Endif
PrintLn "@X03WIPE @X0Banalyzed for: @X0EBytes Filename Date Time"
PrintLn "@X03---------------------------------------------------------------------"
:LABEL051
FAppend 2, PPEPath() + PPEName() + ".adj", 2, 0
For INTEGER013 = 0 To INTEGER014
FPut 2, TSTRING016(INTEGER013) + Chr(13) + Chr(10)
If (BOOLEAN006 == 1) Then
PrintLn "@X0E", Left(TSTRING016(INTEGER013), 26), "@X0C", Mid(TSTRING016(INTEGER013), 27, 1), " @X03", Mid(TSTRING016(INTEGER013), 28, 8), " @X0E", Mid(TSTRING016(INTEGER013), 38, 31)
Endif
Next
FClose 2
If (BOOLEAN006 == 1) Then
PrintLn "@X03---------------------------------------------------------------------"
Endif
Goto LABEL053
:LABEL052
PrintLn "@X03WIPE @X0Bhas not found any aflicted user for @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " ")
:LABEL053
Goto LABEL054
Endif
PrintLn "@X03WIPE @X0Bhas not found @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " "), " @X0B in DLPatch.!"
Endif
:LABEL054
If (BOOLEAN017 == 0) Then
PrintLn "@X03WIPE @X0Bis moving @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " "), " @X0Bto FAKE dir."
STRING003 = PPEPath() + "move.exe"
STRING004 = TSTRING008(CurConf(), 2) + RTrim(Left(TSTRING015(INTEGER016), 12), " ") + " " + STRING020 + " /O"
Shell 1, INTEGER001, STRING003, STRING004
Endif
PrintLn "@X03WIPE @X0Bis creating a DUMMY file for @X0E", RTrim(Left(TSTRING015(INTEGER016), 12), " "), " @X0Bto prevent double U/L."
FOpen 2, STRING021 + RTrim(Left(TSTRING015(INTEGER016), 12), " "), 1, 0
If (BOOLEAN001 == 0) Then
FPut 2, Left(TSTRING015(INTEGER016), 33) + " Faked by:" + U_Name() + Chr(13) + Chr(10)
FPut 2, "Reason: " + STRING018 + Chr(13) + Chr(10)
Endif
BOOLEAN002 = 1
FClose 2
STRING003 = "attrib.exe"
STRING004 = STRING021 + Left(TSTRING015(INTEGER016), 12) + " +R"
Shell 1, INTEGER001, STRING003, STRING004
If (BOOLEAN017 == 1) Then
PrintLn "@X03WIPE @X0Bis deleting the original File at DIR: @X0E", TSTRING008(CurConf(), 0)
Delete TSTRING008(CurConf(), 2) + RTrim(Left(TSTRING015(INTEGER016), 12), " ")
Endif
If (STRING006 == "") Goto LABEL055
FAppend 2, STRING006, 2, 0
FPutLn 2, Left(TSTRING015(INTEGER016), 12)
FClose 2
:LABEL055
FAppend 2, PPEPath() + PPEName() + ".del", 2, 0
FPut 2, "attrib -r " + STRING021 + Left(TSTRING015(INTEGER016), 12) + Chr(13) + Chr(10)
FPut 2, "del " + STRING021 + Left(TSTRING015(INTEGER016), 12) + Chr(13) + Chr(10)
FClose 2
If (Exist(PPEPath() + PPEName() + ".log")) Goto LABEL056
FAppend 2, PPEPath() + PPEName() + ".log", 2, 0
FPutLn 2, "Filename: │FSize: │Filedate:│Fakedate:│ Faked by: │ Fake reason: │ Faked user:"
FPutLn 2, "────────────┼────────┼─────────┼─────────┼──────────────────────────┼────────────────────────────────────────────┼───────────────────────────"
FClose 2
:LABEL056
FAppend 2, PPEPath() + PPEName() + ".log", 2, 0
FPut 2, Left(TSTRING015(INTEGER016), 12)
FPut 2, "│"
FPut 2, Mid(TSTRING015(INTEGER016), 14, 8)
FPut 2, "│"
FPut 2, Mid(TSTRING015(INTEGER016), 23, 9)
FPut 2, "│ "
FPut 2, Date()
FPut 2, "│ "
FPut 2, Left(STRING013 + Space(25), 25)
FPut 2, "│ "
FPut 2, Mid(STRING018, 5, 43)
FPut 2, "│ "
For INTEGER013 = 0 To INTEGER010
FPut 2, TSTRING014(INTEGER013) + " /"
Next
FPut 2, Chr(13) + Chr(10)
FClose 2
FAppend 2, TSTRING008(CurConf(), 1) + ".MOD", 2, 0
FPut 2, " |" + TSTRING015(INTEGER016) + Chr(13) + Chr(10)
FClose 2
Newline
Next
FAppend 2, TSTRING008(CurConf(), 1) + ".MOD", 2, 0
FPut 2, " | " + STRING018 + Chr(13) + Chr(10)
For INTEGER016 = 0 To INTEGER010
FPut 2, " | @X0FFaked User: @X03", TSTRING014(INTEGER016) + Chr(13) + Chr(10)
Next
If (BOOLEAN011 == 1) Then
FPut 2, " |" + Chr(13) + Chr(10)
Endif
FClose 2
StartDisp 0
Return
:LABEL057
While (STRING009 <> "Q") Do
Gosub LABEL008
Newline
If (BOOLEAN010 == 1) Then
InputStr " @X0EEnter Command: ", STRING009, 9, 1, "MNWQZCD", 8
Else
InputStr " @X0EEnter Command: ", STRING009, 9, 1, "MNQZD", 8
Endif
Newline
If (STRING009 == "N") Then
STRING011 = ""
InputStr " @X0EEnter Searchdate: ", STRING011, 9, 6, "1234567890", 2
If (STRING011 <> "") Then
STRING010 = "N;" + STRING011 + ";U"
Dir STRING010
Endif
Endif
If (STRING009 == "Z") Then
STRING011 = ""
InputStr " @X0EEnter Searchstring: ", STRING011, 9, 30, Mask_Ascii(), 2
If (STRING011 <> "") Then
STRING010 = "Z;" + STRING011 + ";U"
Dir STRING010
Endif
Endif
BOOLEAN012 = 0
If (STRING009 == "W") Then
BOOLEAN009 = 0
BOOLEAN012 = 0
Gosub LABEL035
Endif
If (STRING009 == "D") Then
BOOLEAN009 = 1
BOOLEAN012 = 0
Gosub LABEL035
Endif
If (STRING009 == "M") Then
BOOLEAN009 = 0
BOOLEAN012 = 1
Gosub LABEL035
Endif
If (STRING009 == "C") Then
Gosub LABEL010
Endif
EndWhile
Return
:LABEL058
If (Exist(PPEPath() + PPEName() + ".cnf")) Goto LABEL059
Newline
SPrintLn PPEName() + ".cnf file not found! Check existence!"
Newline
End
:LABEL059
If (Exist(PPEPath() + PPEName() + ".alw")) Goto LABEL060
Newline
SPrintLn "WIPE.ALW file not found! Check existence!"
Newline
End
:LABEL060
GetUser
STRING025 = ReadLine(PCBDat(), 46)
FClose -1
BOOLEAN010 = 0
If (STRING022 == "GET_DESCRIPT") Then
STRING022 = ""
Else
If (STRING022 == "GET_CREDS") Goto LABEL063
BOOLEAN010 = 1
FOpen 2, PPEPath() + PPEName() + ".ALW", 0, 0
:LABEL061
If (Ferr(2)) Goto LABEL062
FGet 2, STRING013
BOOLEAN003 = 0
If (Left(STRING013, 1) == "+") Then
BOOLEAN003 = 1
STRING013 = LTrim(STRING013, "+")
Endif
BOOLEAN004 = 0
If (Right(STRING013, 1) == "+") Then
BOOLEAN004 = 1
STRING013 = RTrim(STRING013, "+")
Endif
If (Upper(STRING013) == U_Name()) Then
FClose 2
Else
Goto LABEL061
:LABEL062
FClose 2
Newline
PrintLn "@X0B", U_Name(), "@X0E, you aren't allowed to @X03WIPE@X0E files!"
PrintLn "@X0B", U_Name(), "@X0E, email to SYSOP your wish for access!"
Goto LABEL004
Endif
Endif
:LABEL063
If (Exist(PPEPath() + PPEName() + ".cmt")) Then
INTEGER003 = 0
FOpen 2, PPEPath() + PPEName() + ".cmt", 0, 0
If (Ferr(2)) Goto LABEL064
FGet 2, TSTRING023(INTEGER003)
:LABEL064
If (Ferr(2)) Goto LABEL065
If (Len(TSTRING023(INTEGER003)) > 42) Then
TSTRING023(INTEGER003) = Left(TSTRING023(INTEGER003), 42)
Endif
If ((INTEGER003 > 5) || (TSTRING023(INTEGER003) == "")) Then
FClose 2
Goto LABEL065
Endif
Inc INTEGER003
FGet 2, TSTRING023(INTEGER003)
Goto LABEL064
:LABEL065
FClose 2
Endif
Dec INTEGER003
STRING020 = ReadLine(PPEPath() + PPEName() + ".cnf", 1)
If (STRING020 == "ZERO") Then
BOOLEAN001 = 1
Endif
STRING020 = ReadLine(PPEPath() + PPEName() + ".cnf", 2)
STRING021 = ReadLine(PPEPath() + PPEName() + ".cnf", 3)
STRING006 = ""
STRING006 = ReadLine(PPEPath() + PPEName() + ".cnf", 4)
STRING026 = ReadLine(PPEPath() + PPEName() + ".cnf", 5)
STRING027 = "Uploaded by:"
If (ReadLine(PPEPath() + PPEName() + ".cnf", 6) == "NO") Then
BOOLEAN011 = 0
Endif
If (ReadLine(PPEPath() + PPEName() + ".cnf", 7) == "NO") Then
BOOLEAN006 = 0
Endif
INTEGER018 = 0
INTEGER019 = 0
INTEGER018 = ToInteger(ReadLine(PPEPath() + PPEName() + ".cnf", 8))
INTEGER019 = ToInteger(ReadLine(PPEPath() + PPEName() + ".cnf", 9))
INTEGER017 = 2
If (Exist(PPEPath() + PPEName() + ".des")) Then
FOpen 2, PPEPath() + PPEName() + ".des", 0, 0
If (Ferr(2)) Goto LABEL067
FGet 2, TSTRING033(INTEGER017)
:LABEL066
If (Ferr(2)) Goto LABEL067
Inc INTEGER017
If (INTEGER017 > 7) Then
INTEGER017 = 7
Endif
FGet 2, TSTRING033(INTEGER017)
Goto LABEL066
:LABEL067
FClose 2
Endif
Dec INTEGER017
Return
:LABEL068
STRING005 = Space(12) + STRING005
STRING005 = Right(STRING005, 12)
STRING039 = Left(STRING005, 3)
STRING040 = Mid(STRING005, 4, 3)
STRING041 = Mid(STRING005, 7, 3)
STRING042 = Right(STRING005, 3)
STRING005 = Strip(STRING039, " ")
Print "@X0E"
If (Len(STRING005) == 0) Then
Print " "
Else
Print " ", STRING039, "."
Endif
STRING005 = Strip(STRING040, " ")
If (Len(STRING005) == 0) Then
Print " "
Else
Print STRING040, "."
Endif
STRING005 = Strip(STRING041, " ")
If (Len(STRING005) == 0) Then
Print " "
Else
Print STRING041, "."
Endif
STRING005 = Strip(STRING042, " ")
If (Len(STRING005) == 0) Then
Print " "
Else
Print STRING042
Endif
Return
:LABEL069
If (Exist(PPEPath() + PPEName() + ".adj")) Goto LABEL070
Return
:LABEL070
FOpen 1, PPEPath() + PPEName() + ".adj", 0, 0
If (Ferr(1)) Then
Return
Endif
Delete "adjust.tmp"
StartDisp 1
STRING024 = String(U_Bdl())
FOpen 2, "adjust.tmp", 1, 0
If (Ferr(2)) Goto LABEL072
FGet 1, STRING032
:LABEL071
If (Ferr(1)) Goto LABEL072
If (U_Name() == Upper(RTrim(Left(STRING032, 25), " "))) Then
If (BOOLEAN008 == 0) Then
Newline
PrintLn "@X03WIPE @X0Badjusts: @X0EBytes Filename Date Time"
PrintLn "@X03-------------------------------------------------------------------------------"
BOOLEAN008 = 1
Endif
BOOLEAN007 = 1
If (Mid(STRING032, 27, 1) == "+") Then
AdjBytes 0 - ToDWord(Mid(STRING032, 28, 8))
PrintLn "@X03WIPE @X0Breturns you @X0E", Mid(STRING032, 28, 8), "@X0B for D/Led faked file: @X0E", Mid(STRING032, 38, 31)
Endif
If (Mid(STRING032, 27, 1) == "-") Then
AdjBytes 3 * ToDWord(Mid(STRING032, 28, 8))
PrintLn "@X03WIPE @X0Btakes you @X0E", Mid(STRING032, 28, 8), "@X0B for U/Led faked file: @X0E", Mid(STRING032, 38, 31)
Endif
Else
FPutLn 2, STRING032
Endif
FGet 1, STRING032
Goto LABEL071
:LABEL072
FClose 2
FClose 1
Copy "adjust.tmp", PPEPath() + PPEName() + ".adj"
If (BOOLEAN007 == 1) Then
PrintLn "@X03-------------------------------------------------------------------------------"
Print "@X03WIPE @X0Breports an old download-status with: @X0E"
STRING005 = STRING024
Gosub LABEL068
PrintLn " @X0Bbytes."
Print "@X03WIPE @X0Breports a new download-status with: @X0E"
STRING005 = String(U_Bdl())
Gosub LABEL068
PrintLn " @X0Bbytes."
PrintLn "@X03-------------------------------------------------------------------------------"
Print "@X03WIPE [PPE2] V", STRING001, " ", STRING002, " @X09"
MPrintLn STRING031, STRING030
SPrintLn STRING029, STRING028
Endif
StartDisp 0
End
:LABEL073
BOOLEAN012 = 0
TSTRING033(0) = "Keyboard Time Expired!"
TSTRING033(1) = "Carrier Lost ..."
STRING031 = Chr(10) + Chr(37) + Chr(11) + Chr(2) + Chr(54) + Chr(74) + Chr(84) + Chr(87) + Chr(85) + Chr(86) + Chr(2) + Chr(36) + Chr(84) + Chr(81) + Chr(86) + Chr(74) + Chr(71) + Chr(84) + Chr(85)
STRING022 = GetToken()
BOOLEAN001 = 0
BOOLEAN002 = 0
BOOLEAN006 = 1
BOOLEAN011 = 1
BOOLEAN007 = 0
BOOLEAN008 = 0
BOOLEAN009 = 0
TSTRING008(0, 0) = ""
TSTRING008(0, 1) = ""
INTEGER006 = 0
INTEGER007 = 1
INTEGER004 = 33
INTEGER005 = 14
STRING009 = ""
STRING030 = Chr(2) + Chr(15) + Chr(2) + Chr(46) + Chr(71) + Chr(73) + Chr(71) + Chr(80) + Chr(70) + Chr(85) + Chr(2) + Chr(89) + Chr(75) + Chr(78) + Chr(78) + Chr(2) + Chr(80) + Chr(71) + Chr(88) + Chr(71) + Chr(84) + Chr(2) + Chr(70) + Chr(75) + Chr(71) + Chr(16) + Chr(16) + Chr(16)
Gosub LABEL002
Gosub LABEL058
Gosub LABEL001
If (STRING022 == "") Goto LABEL074
If (STRING022 == "GET_CREDS") Then
Goto LABEL069
Endif
STRING012 = STRING022
Gosub LABEL036
PrintLn
Goto LABEL075
:LABEL074
Gosub LABEL057
:LABEL075
StartDisp 0
Goto LABEL004
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 5 End
; 1 Cls
; 2 Wait
; 283 Goto
; 276 Let
; 28 Print
; 68 PrintLn
; 198 If
; 10 FOpen
; 17 FAppend
; 32 FClose
; 14 FGet
; 52 FPut
; 13 FPutLn
; 7 StartDisp
; 1 GetUser
; 5 Delete
; 1 Log
; 12 InputStr
; 8 InputYN
; 24 Gosub
; 21 Return
; 15 Inc
; 5 Dec
; 29 Newline
; 10 Shell
; 3 InputText
; 2 Dir
; 1 WrUNet
; 6 AnsiPos
; 12 FreshLine
; 5 SPrintLn
; 3 MPrintLn
; 3 AdjBytes
; 1 Copy
;
;
; ■ Functions used :
;
; 8 -
; 1 *
; 332 +
; 53 -
; 139 ==
; 3 <>
; 35 <
; 29 <=
; 13 >
; 58 >=
; 201 !
; 76 &&
; 31 ||
; 35 Len(
; 6 Upper()
; 43 Mid()
; 65 Left()
; 11 Right()
; 23 Space()
; 15 Ferr()
; 96 Chr()
; 10 Asc()
; 14 InStr()
; 3 LTrim()
; 21 RTrim()
; 4 Date()
; 1 Time()
; 8 U_Name()
; 4 U_Bdl()
; 1 StripAtx()
; 4 Strip()
; 3 Inkey()
; 10 String()
; 1 Mask_Num()
; 3 Mask_File()
; 3 Mask_Ascii()
; 22 CurConf()
; 3 PCBDat()
; 35 PPEPath()
; 1 PcbNode()
; 15 ReadLine()
; 2 OnLocal()
; 3 UN_Name()
; 1 UN_City()
; 1 GetToken()
; 11 Exist()
; 6 GetY()
; 2 FileInf()
; 32 PPEName()
; 1 U_RecNum()
; 1 U_InConf()
; 11 ToInteger()
; 3 ToDWord()
;
;------------------------------------------------------------------------------
;
; Analysis flags : MSad
;
; 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
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; 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
;
; 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
;
; 27 For/Next
; 5 While/EndWhile
; 114 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------