home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .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
- ;------------------------------------------------------------------------------
-
- Integer INTEGER002
- Integer INTEGER003
- Integer TINTEGER004(1)
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- String STRING001
- String TSTRING002(1)
- String TSTRING003(1)
- String TSTRING004(1)
- String TSTRING005(1)
- String STRING006
- String STRING007
- String TSTRING008(44)
- String STRING009
- String STRING010
- String STRING011
- String TSTRING012(30)
- String STRING013
- Time TIME001
- Word WORD001
-
- ;------------------------------------------------------------------------------
-
- RdUNet PcbNode()
- WrUNet PcbNode(), "U", UN_Name(), UN_City(), "PAiN!-SYS0P-T00L", "PAiN!-SYS0P-T00L"
- Goto LABEL002
- :LABEL001
- STRING001 = ReadLine(PCBDat(), 31) + ".@@@"
- FOpen 1, STRING001, 0, 0
- FRead 1, WORD001, 2
- INTEGER003 = FileInf(STRING001, 4) / WORD001 - 1
- Redim TSTRING002, INTEGER003
- Redim TSTRING003, INTEGER003
- Redim TSTRING004, INTEGER003
- Redim TINTEGER004, INTEGER003
- Redim TSTRING005, INTEGER003
- For INTEGER002 = 0 To INTEGER003
- FSeek 1, INTEGER002 * WORD001 + 2, 0
- FRead 1, TSTRING002(INTEGER002), 14
- FSeek 1, INTEGER002 * WORD001 + 158, 0
- FRead 1, TSTRING003(INTEGER002), 29
- FSeek 1, INTEGER002 * WORD001 + 187, 0
- FRead 1, TSTRING005(INTEGER002), 26
- FSeek 1, INTEGER002 * WORD001 + 214, 0
- FRead 1, TSTRING004(INTEGER002), 29
- Next
- FClose 1
- Return
- :LABEL002
- AnsiPos 1, 23
- SaveScrn
- STRING007 = ReadLine(PPEPath() + "p!-systo.cfg", 1)
- STRING011 = ReadLine(PPEPath() + "p!-systo.cfg", 2)
- STRING013 = ReadLine(PPEPath() + "p!-systo.cfg", 3)
- STRING009 = ReadLine(PPEPath() + "p!-systo.cfg", 4)
- If (Right(STRING007, 1) <> "\") STRING007 = STRING007 + "\"
- If (Right(STRING011, 1) <> "\") STRING011 = STRING011 + "\"
- AnsiPos 1, GetY()
- PrintLn
- PrintLn "@X0DPLEASE WAIT..."
- PrintLn
- STRING001 = "S " + PPEPath() + "sys.tmp"
- Shell 0, INTEGER007, PPEPath() + "p!-systo.exe", STRING001
- FOpen 1, PPEPath() + "sys.tmp", 0, 0
- FGet 1, STRING001
- FClose 1
- If (STRING001 == "**UL") Then
- MPrintLn "@X05SYS0P iS UPL0ADiNG L0CALLY..."
- STRING001 = "U " + PPEPath() + "sys.tmp"
- FOpen 1, PPEPath() + "sys.tmp", 1, 0
- FPutLn 1, STRING013
- FClose 1
- Shell 0, INTEGER007, PPEPath() + "p!-systo.exe", STRING001
- Gosub LABEL001
- INTEGER005 = CurConf()
- INTEGER006 = 1
- FOpen 1, PPEPath() + "sys.tmp", 0, 0
- :LABEL003
- FGet 1, TSTRING008(INTEGER006)
- If (TSTRING008(INTEGER006) == "**") Goto LABEL004
- Inc INTEGER006
- Goto LABEL003
- :LABEL004
- Dec INTEGER006
- FGet 1, STRING001
- INTEGER008 = S2I(STRING001, 10)
- FClose 1
- Cls
- If (INTEGER006 == 0) Then
- RestScrn
- Goto LABEL002
- Endif
- PrintLn "@X0D L0CAL UPL0AD"
- PrintLn "@X05──────────────────────────────────────────────────────────────────────────────"
- PrintLn
- PrintLn "@X07 C0NFERENCE : @X08( @X0F" + I2S(INTEGER005, 10) + "@X08 )@X07 = @X08( @X0F" + TSTRING002(INTEGER005) + "@X08 )"
- PrintLn
- PrintLn "@X07 FiLES FLAGGED : @X08( @X0F" + I2S(INTEGER006, 10) + "@X08 )"
- PrintLn
- PrintLn "@X07 BYTES FLAGGED : @X08( @X0F" + I2S(INTEGER008, 10) + "@X08 )@X07 = @X08( @X0F" + I2S(INTEGER008 / 1024, 10) + "@X07 K@X08 )"
- PrintLn
- TIME001 = ((INTEGER008 / 1024) / 100) * S2I(STRING009, 10)
- STRING010 = TIME001
- PrintLn "@X07 ESTiMATED TiME : @X08( @X0F" + STRING010 + "@X08 )"
- PrintLn
- PrintLn
- PrintLn "@X03 iS THAT WHAT Y0U WANT ?"
- INTEGER010 = 0
- :LABEL005
- If (INTEGER010) Then
- AnsiPos 32, 15
- PrintLn "@X7F▌YES!@X78▐@X07 N0PE "
- Endif
- If (INTEGER010) Goto LABEL006
- AnsiPos 32, 15
- PrintLn "@X07 YES! @X7F▌N0PE@X78▐@X07 "
- :LABEL006
- AnsiPos 1, 1
- :LABEL007
- STRING001 = Inkey()
- If (STRING001 == "") Goto LABEL007
- If ((((STRING001 == "LEFT") || (STRING001 == "RIGHT")) || (STRING001 == "UP")) || (STRING001 == "DOWN")) INTEGER010 = ! INTEGER010
- If (Upper(STRING001) == "Y") INTEGER010 = 0
- If (Upper(STRING001) == "N") INTEGER010 = 1
- If (STRING001 == Chr(13)) Goto LABEL008
- Goto LABEL005
- :LABEL008
- If (INTEGER010) Goto LABEL009
- RestScrn
- Goto LABEL002
- :LABEL009
- For INTEGER002 = 1 To INTEGER006
- Cls
- PrintLn "@X07TESTiNG @X08( @X0F" + TSTRING008(INTEGER002) + "@X08 )@X07 = FiLE @X08( @X0F" + I2S(INTEGER002, 10) + "@X07/@X0F" + I2S(INTEGER006, 10) + " @X08) ..."
- Delay 30
- TSTRING008(INTEGER002) = Strip(TSTRING008(INTEGER002), " ")
- If (Right(TSTRING005(INTEGER005), 1) == "\") TSTRING005(INTEGER005) = Left(TSTRING005(INTEGER005), Len(TSTRING005(INTEGER005)) - 1)
- Shell 1, INTEGER007, "copy " + TSTRING008(INTEGER002) + " " + TSTRING005(INTEGER005), ""
- INTEGER009 = Len(TSTRING008(INTEGER002))
- :LABEL010
- Dec INTEGER009
- If (Mid(TSTRING008(INTEGER002), INTEGER009, 1) <> "\") Goto LABEL010
- STRING006 = Strip(Mid(TSTRING008(INTEGER002), INTEGER009 + 1, Len(TSTRING008(INTEGER002))), " ")
- STRING001 = GetEnv("pcbdir")
- If (Right(STRING001, 1) <> "\") STRING001 = STRING001 + "\"
- Shell 1, INTEGER007, STRING007 + "pcbtest.bat", TSTRING005(INTEGER005) + "\" + STRING006 + " upload " + STRING001 + TempPath() + "updesc." + I2S(PcbNode(), 10) + " " + STRING006
- FAppend 1, TSTRING003(INTEGER005), 1, 0
- FOpen 2, STRING001 + TempPath() + "updesc." + I2S(PcbNode(), 10), 0, 0
- FGet 2, STRING001
- FPutLn 1, STRING001
- :LABEL011
- If (Ferr(2)) Goto LABEL012
- FGet 2, STRING001
- FPutLn 1, STRING001
- Goto LABEL011
- :LABEL012
- FClose 1
- FClose 2
- Next
- Endif
- Select Case (STRING001)
- Case "**DL"
- PrintLn "@X05SYS0P iS FLAGGiNG FiLES F0R Y0U T0 D0WNL0AD..."
- FOpen 1, PPEPath() + "sys.tmp", 1, 0
- FPutLn 1, STRING013
- FClose 1
- STRING001 = "D " + PPEPath() + "sys.tmp"
- Shell 0, INTEGER007, PPEPath() + "p!-systo.exe", STRING001
- FOpen 1, PPEPath() + "sys.tmp", 0, 0
- :LABEL013
- FGet 1, STRING001
- If (STRING001 == "**") Goto LABEL014
- Flag STRING001
- Goto LABEL013
- :LABEL014
- FClose 1
- Case "**VIEW"
- PrintLn "@X05SYS0P iS FLAGGiNG TXT/ANSi/RiP T0 ViEW T0 Y0U..."
- STRING001 = "V " + PPEPath() + "sys.tmp"
- FOpen 1, PPEPath() + "sys.tmp", 1, 0
- FPutLn 1, STRING013
- FClose 1
- Shell 0, INTEGER007, PPEPath() + "p!-systo.exe", STRING001
- FOpen 1, PPEPath() + "sys.tmp", 0, 0
- Cls
- PrintLn "@X07Y0U WiLL SEE THE FiLES N0W, PRESS @X08<@X0FRETURN@X08>@X07 AFTER EACH..."
- PrintLn "@X01────────────────────────────────────────────────────────"
- :LABEL015
- STRING001 = Inkey()
- If (STRING001 <> Chr(13)) Goto LABEL015
- INTEGER005 = 0
- :LABEL016
- Inc INTEGER005
- FGet 1, STRING001
- If (STRING001 == "**") Goto LABEL018
- Cls
- DispFile STRING001, 1
- :LABEL017
- STRING001 = Inkey()
- If (STRING001 <> Chr(13)) Goto LABEL017
- Goto LABEL016
- :LABEL018
- FClose 1
- Case "**EDIT"
- PrintLn "@X05SYS0P iS EDiTiNG Y0UR REC0RD..."
- FOpen 1, STRING011 + "PWRD", 0, 0
- INTEGER006 = 0
- :LABEL019
- FGet 1, STRING001
- If (Ferr(1)) Goto LABEL022
- STRING001 = Mid(STRING001, 2, Len(STRING001))
- INTEGER005 = 1
- :LABEL020
- If (Mid(STRING001, INTEGER005, 1) == ",") Goto LABEL021
- Inc INTEGER005
- Goto LABEL020
- :LABEL021
- Inc INTEGER006
- TSTRING012(INTEGER006) = Mid(STRING001, 1, INTEGER005 - 1)
- Goto LABEL019
- :LABEL022
- For INTEGER002 = 8 To 13
- AnsiPos 15, INTEGER002
- Color 17
- SPrintLn " "
- Next
- AnsiPos 18, 9
- Color 29
- SPrintLn "WHAT LEVEL SH0ULD THE USER BEC0ME ?"
- GetUser
- For INTEGER002 = 1 To INTEGER006
- If (S2I(TSTRING012(INTEGER002), 10) == U_Sec) INTEGER005 = INTEGER002
- Next
- :LABEL023
- AnsiPos 32, 11
- Color 127
- SPrint "▌"
- If (Len(TSTRING012(INTEGER005)) == 1) SPrint "00" + TSTRING012(INTEGER005)
- If (Len(TSTRING012(INTEGER005)) == 2) SPrint "0" + TSTRING012(INTEGER005)
- If (Len(TSTRING012(INTEGER005)) == 3) SPrint TSTRING012(INTEGER005)
- Color 120
- SPrint "▐"
- :LABEL024
- STRING001 = Inkey()
- If (STRING001 == "") Goto LABEL024
- If ((STRING001 == "UP") || (STRING001 == "LEFT")) Then
- Dec INTEGER005
- If (INTEGER005 < 1) INTEGER005 = INTEGER006
- Endif
- If ((STRING001 == "DOWN") || (STRING001 == "RIGHT")) Then
- Inc INTEGER005
- If (INTEGER005 > INTEGER006) INTEGER005 = 1
- Endif
- If (STRING001 == Chr(13)) Goto LABEL025
- Goto LABEL023
- :LABEL025
- Color 7
- GetUser
- U_Sec = I2S(TSTRING012(INTEGER005), 10)
- PutUser
- End Select
- :LABEL026
- RestScrn
- End
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 4 Cls
- ; 5 Color
- ; 45 Goto
- ; 48 Let
- ; 24 PrintLn
- ; 40 If
- ; 1 DispFile
- ; 10 FOpen
- ; 1 FAppend
- ; 10 FClose
- ; 8 FGet
- ; 5 FPutLn
- ; 2 GetUser
- ; 1 PutUser
- ; 1 Gosub
- ; 1 Return
- ; 1 Delay
- ; 5 Inc
- ; 3 Dec
- ; 6 Shell
- ; 1 RdUNet
- ; 1 WrUNet
- ; 8 AnsiPos
- ; 1 SaveScrn
- ; 3 RestScrn
- ; 5 SPrint
- ; 2 SPrintLn
- ; 1 MPrintLn
- ; 4 FSeek
- ; 5 FRead
- ; 5 Redim
- ; 1 Flag
- ;
- ;
- ; ■ Functions used :
- ;
- ; 5 *
- ; 4 /
- ; 73 +
- ; 3 -
- ; 28 ==
- ; 6 <>
- ; 5 <
- ; 4 <=
- ; 1 >
- ; 8 >=
- ; 17 !
- ; 8 &&
- ; 9 ||
- ; 7 Len(
- ; 2 Upper()
- ; 5 Mid()
- ; 1 Left()
- ; 4 Right()
- ; 2 Ferr()
- ; 4 Chr()
- ; 2 Strip()
- ; 4 Inkey()
- ; 1 CurConf()
- ; 1 PCBDat()
- ; 19 PPEPath()
- ; 4 PcbNode()
- ; 5 ReadLine()
- ; 1 UN_Name()
- ; 1 UN_City()
- ; 1 GetEnv()
- ; 9 I2S()
- ; 3 S2I()
- ; 1 GetY()
- ; 1 FileInf()
- ; 2 TempPath()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : WMSfd
- ;
- ; 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
- ;
- ; 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
- ;
- ; f - Flag files for download ■ 3
- ; This may be normal if a PPE needs to send some files, but since
- ; this statement allows flagging of any file on the hard disk, you
- ; have to be carefull. Check!
- ; ■ Search for : FLAG
- ;
- ; 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
- ;
- ; 4 For/Next
- ; 0 While/EndWhile
- ; 5 If/Then or If/Then/Else
- ; 1 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-