home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
PWAPCP01.ZIP
/
CU2B
/
CALLUP.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-09-03
|
9KB
|
676 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
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Date DATE002
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
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
;------------------------------------------------------------------------------
BOOLEAN001 = 0
BOOLEAN002 = 0
BOOLEAN003 = 0
BOOLEAN004 = 0
BOOLEAN005 = 0
BOOLEAN006 = 0
BOOLEAN007 = 0
BOOLEAN008 = 0
BOOLEAN009 = 0
BOOLEAN010 = 0
BOOLEAN011 = 0
DATE002 = Date()
STRING002 = ""
STRING003 = ""
STRING004 = ""
STRING005 = ""
STRING006 = ""
STRING007 = ""
STRING008 = ""
STRING009 = ""
STRING010 = ""
STRING011 = ""
STRING012 = ""
STRING013 = ""
STRING014 = ""
STRING015 = ""
STRING016 = ""
STRING017 = ""
STRING018 = ""
STRING019 = ""
STRING020 = ""
STRING021 = ""
STRING022 = ""
STRING023 = ""
STRING024 = ""
STRING025 = ""
STRING026 = ""
STRING027 = ""
STRING028 = ""
INTEGER003 = 0
INTEGER004 = 0
INTEGER005 = 0
INTEGER002 = 0
FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING006
FGet 1, STRING007
FGet 1, STRING008
FGet 1, BOOLEAN001
FGet 1, STRING009
FGet 1, STRING010
FGet 1, STRING011
FGet 1, BOOLEAN002
FGet 1, STRING012
FGet 1, STRING013
FGet 1, BOOLEAN003
FGet 1, STRING014
FClose 1
For INTEGER002 = 1 To 25
STRING015 = Mid(STRING002, INTEGER002, 1)
INTEGER003 = Asc(STRING015) + 3
INTEGER004 = INTEGER004 + INTEGER003
Next
STRING016 = (((((((INTEGER004 * Len(Strip(STRING002, " "))) * 4) / 2) * 6) / 2) * 8) / 2) * 10
Gosub LABEL010
GetUser
If (U_Sec > STRING004) Then
PrintLn
DispFile PPEPath() + "2HIGH", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
PrintLn
DispFile PPEPath() + "WELC", 2 + 1 + 4
PrintLn
Wait
Gosub LABEL010
PrintLn
DispFile PPEPath() + "SEL", 2 + 1 + 4
If (BOOLEAN002) Then
PrintLn
PrintLn "@X0CHit <enter> to abort callback."
InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " or (E)nter number ", STRING017, 15, 1, "DEV", 8 + 32 + 2 + 4
Endif
If (BOOLEAN002) Goto LABEL001
PrintLn
PrintLn "@X0CHit <enter> to abort callback."
InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " Line ", STRING017, 15, 1, "DV", 8 + 32 + 2 + 4
:LABEL001
If (STRING017 == "") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ABORT", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
If (STRING017 == "D") Gosub LABEL008
If (STRING017 == "V") Gosub LABEL008
If (STRING017 == "E") Gosub LABEL011
Gosub LABEL009
If (BOOLEAN004) Goto LABEL002
Goto LABEL003
:LABEL002
Gosub LABEL011
:LABEL003
Gosub LABEL012
Gosub LABEL013
FOpen 1, PPEPath() + "LOC_EXC.DAT", 0, 3
SearchInit STRING019 + "-" + STRING020, 1
While (!Ferr(1) && !BOOLEAN007) Do
FGet 1, STRING023
SearchFind STRING023, BOOLEAN007
EndWhile
SearchStop
FClose 1
If (BOOLEAN007) Then
Goto LABEL006
Endif
If (BOOLEAN008) Goto LABEL004
FOpen 1, PPEPath() + "LC_EX_1.DAT", 0, 3
SearchInit STRING019 + "-" + STRING020, 1
While (!Ferr(1) && !BOOLEAN008) Do
FGet 1, STRING023
SearchFind STRING023, BOOLEAN008
EndWhile
SearchStop
FClose 1
:LABEL004
If (BOOLEAN008) Then
Goto LABEL006
Endif
If (BOOLEAN001) Then
FOpen 1, PPEPath() + "AREACODE.DAT", 0, 3
SearchInit STRING019, 1
While (!Ferr(1) && !BOOLEAN009) Do
FGet 1, STRING024
SearchFind STRING024, BOOLEAN009
EndWhile
SearchStop
FClose 1
Endif
If (BOOLEAN009) Goto LABEL005
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ACLDN", 2 + 1 + 4
PrintLn
Wait
Cls
End
:LABEL005
If (Mid(STRING010, 1, 5) < Mid(STRING011, 1, 5)) Then
If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "LDNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
Endif
If (Mid(STRING010, 7, 5) < Mid(STRING011, 7, 5)) Then
If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "LDNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
Endif
If (Mid(STRING010, 1, 5) > Mid(STRING011, 1, 5)) Then
If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "LDNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
Endif
If (Mid(STRING010, 7, 5) > Mid(STRING011, 7, 5)) Then
If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "LDNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
Endif
If (BOOLEAN009) Then
Goto LABEL006
Endif
If ((!BOOLEAN007 && !BOOLEAN008) && !BOOLEAN009) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ERROR", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
:LABEL006
Gosub LABEL010
PrintLn
DispFile PPEPath() + "CALL", 2 + 1 + 4
PrintLn
Wait
If (BOOLEAN007) Then
PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING008 + "@X0F) attempt(s) to connect to you."
PrintLn
PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
PrintLn
Wait
STRING026 = STRING008
STRING027 = 1
Endif
If (BOOLEAN009 || BOOLEAN008) Then
PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING009 + "@X0F) attempt(s) to connect to you."
PrintLn
PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
PrintLn
Wait
STRING026 = STRING009
STRING027 = 1
Endif
If (OnLocal()) Then
BOOLEAN011 = 1
PrintLn
PrintLn " <<<*** BEGINNING LOCAL MODE SIMULATON ***>>>"
PrintLn
Wait
Else
While ((STRING026 >= STRING027) && !BOOLEAN010) Do
CdChkOff
KbdChkOff
DtrOff
Delay 180
DtrOn
STRING026 = STRING026 - 1
PrintLn "@X0CUser has " + STRING026 + " attempts left."
PrintLn "@X0CInitializing modem...."
SendModem "AT" + STRING013
SendModem Chr(13)
Delay 180
PrintLn "@X0CDialing and waiting...."
SendModem "ATDT"
If (BOOLEAN007) Then
SendModem STRING020 + STRING021
ElseIf (BOOLEAN008) Then
SendModem "1" + STRING020 + STRING021
ElseIf (BOOLEAN009) Then
SendModem "1" + STRING019 + STRING020 + STRING021
Goto LABEL007
Endif
:LABEL007
SendModem Chr(13)
WaitFor "CONNECT", BOOLEAN010, STRING012
EndWhile
If (BOOLEAN010) Then
CdChkOn
KbdChkOn
Endif
STRING026 = 1
While ((STRING026 <= STRING006) && (STRING025 <> U_Pwd)) Do
KbdFlush
MdmFlush
Cls
PrintLn
PrintLn
PrintLn
Gosub LABEL010
DispFile PPEPath() + "PWORD", 2 + 1 + 4
PrintLn
InputStr "@X0CEnter Password:", STRING025, 15, 12, Mask_Pwd(), 8 + 1 + 32 + 2
If (STRING025 <> U_Pwd) Then
PrintLn
DispFile PPEPath() + "WRONG", 2 + 1 + 4
PrintLn
STRING026 = STRING026 + 1
STRING025 = ""
Wait
Endif
EndWhile
If (STRING025 <> U_Pwd) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "OUT", 2 + 1 + 4
PrintLn
Delay 180
Hangup
Endif
If (STRING025 == U_Pwd) Then
U_Sec = STRING005
U_ExpDate = DATE002 + STRING007
If (BOOLEAN003) Then
STRING028 = "[" + STRING019 + "-" + STRING020 + "-" + STRING021 + "] " + String(Date()) + " " + Mid(String(Time()), 1, 5)
U_Cmnt2 = STRING028
Endif
Gosub LABEL010
DispFile PPEPath() + "UP", 2 + 1 + 4
PrintLn
PutUser
FAppend 1, PPEPath() + "VERIFIED.DAT", 1, 3
FPutLn 1, STRING019 + "-" + STRING020 + "-" + STRING021 + " :" + U_Name()
FClose 1
Endif
If (BOOLEAN011) Then
End
Endif
If (BOOLEAN009 || BOOLEAN008) Then
DispFile PPEPath() + "LDOFF", 2 + 1 + 4
PrintLn
Delay 180
Hangup
Endif
If (BOOLEAN007) Then
Wait
Endif
Endif
Cls
End
:LABEL008
If (STRING017 == "D") Then
STRING022 = StripStr(U_BDPhone, "(")
Endif
If (STRING017 == "V") Then
STRING022 = StripStr(U_HVPhone, "(")
Endif
STRING022 = StripStr(STRING022, ")")
STRING022 = StripStr(STRING022, "-")
STRING022 = StripStr(STRING022, " ")
STRING019 = Mid(STRING022, 1, 3)
STRING020 = Mid(STRING022, 4, 3)
STRING021 = Mid(STRING022, 7, 4)
Return
:LABEL009
If (Len(STRING022) <> 10) Then
PrintLn
PrintLn "@X0CPhone Number Must Be In (xxx)xxx-xxxx of xxx-xxx-xxxx Format."
PrintLn "@X0CPlease enter your phone number with full area code."
PrintLn
STRING017 = "E"
BOOLEAN004 = 1
Endif
Return
:LABEL010
Cls
PrintLn
PrintLn "@X0F Welcome to CallUp v2.ß -- User Callback Verifier."
PrintLn "@X0F Copyright (C) 1995 James Nerlinger"
PrintLn
If (STRING016 == STRING003) Then
INTEGER005 = (50 - Len(STRING002)) / 2
Forward INTEGER005
Print "@X0FCallUp v2.ß Is Registered To " + STRING002
PrintLn
Endif
If (STRING016 <> STRING003) Then
Forward INTEGER005
Print "@X0FCallUp v2.ß Is Registered To " + STRING002
Endif
Return
:LABEL011
STRING019 = ""
STRING020 = ""
STRING021 = ""
While (STRING018 <> "C") Do
STRING018 = ""
While (Len(StripStr(STRING019, " ")) < 3) Do
InputStr "@X0FYour Area Code (enter to abort): ", STRING019, 15, 3, Mask_Num(), 2 + 32 + 4
If (STRING019 == "") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ABORT", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
EndWhile
While (Len(StripStr(STRING020, " ")) < 3) Do
InputStr "@X0FYour Prefix (enter to abort): ", STRING020, 15, 3, Mask_Num(), 2 + 32 + 4
If (STRING020 == "") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ABORT", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
EndWhile
While (Len(StripStr(STRING021, " ")) < 4) Do
InputStr "@X0FYour Suffix (enter to abort): ", STRING021, 15, 4, Mask_Num(), 2 + 32 + 4
If (STRING021 == "") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ABORT", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
EndWhile
STRING022 = STRING019 + STRING020 + STRING021
While (STRING018 == "") Do
InputStr "@X0FYou Entered @X0C" + STRING019 + "-" + STRING020 + "-" + STRING021 + "@X0F (C)ontinue or (R)e-enter ", STRING018, 15, 1, "CR", 8 + 2 + 32 + 4
If (STRING018 == "") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ABORT", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
EndWhile
EndWhile
Return
:LABEL012
FOpen 1, PPEPath() + "VERIFIED.DAT", 0, 3
SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
While (!Ferr(1) && !BOOLEAN005) Do
FGet 1, STRING024
STRING024 = Mid(STRING024, 1, 12)
SearchFind STRING024, BOOLEAN005
EndWhile
SearchStop
FClose 1
If (BOOLEAN005) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ALRDY", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
Return
:LABEL013
FOpen 1, PPEPath() + "TRASH.DAT", 0, 3
SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
While (!Ferr(1) && !BOOLEAN006) Do
FGet 1, STRING024
STRING024 = Mid(STRING024, 1, 12)
If (Mid(STRING024, 1, 12) == STRING019 + "-???-????") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "ACNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
If (Mid(STRING024, 1, 12) == "???-" + STRING020 + "-????") Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "PRENO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
If (Mid(STRING024, 1, 12) == "???-???-" + STRING021) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "SUFNO", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
If (Mid(STRING024, 1, 12) == STRING019 + "-" + STRING020 + "-" + STRING021) Then
Gosub LABEL010
PrintLn
DispFile PPEPath() + "TRASH", 2 + 1 + 4
PrintLn
Wait
Cls
End
Endif
SearchFind STRING024, BOOLEAN006
EndWhile
SearchStop
FClose 1
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 19 End
; 20 Cls
; 24 Wait
; 82 Goto
; 80 Let
; 2 Print
; 76 PrintLn
; 64 If
; 25 DispFile
; 6 FOpen
; 1 FAppend
; 7 FClose
; 21 FGet
; 1 FPutLn
; 2 Hangup
; 1 GetUser
; 1 PutUser
; 7 InputStr
; 29 Gosub
; 6 Return
; 1 DtrOn
; 1 DtrOff
; 1 CdChkOn
; 1 CdChkOff
; 4 Delay
; 7 SendModem
; 1 WaitFor
; 1 KbdChkOn
; 1 KbdChkOff
; 2 Forward
; 1 KbdFlush
; 1 MdmFlush
; 5 SearchInit
; 5 SearchFind
; 5 SearchStop
;
;
; ■ Functions used :
;
; 5 *
; 12 /
; 180 +
; 2 -
; 19 ==
; 8 <>
; 10 <
; 2 <=
; 3 >
; 7 >=
; 71 !
; 21 &&
; 5 ||
; 6 Len(
; 27 Mid()
; 5 Ferr()
; 2 Chr()
; 1 Asc()
; 6 Date()
; 9 Time()
; 1 U_Name()
; 4 Dow()
; 9 Strip()
; 2 String()
; 1 Mask_Pwd()
; 3 Mask_Num()
; 32 PPEPath()
; 1 OnLocal()
; 1 PPEName()
; 8 StripStr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WBMH
;
; 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
;
; 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
;
; H - Read Password or Password History ■ 5
; Program is reading the user's password or last password history
; This may be ok for a password manager, but it is very suspect. Check!
; ■ Search for : U_PWDHIST, U_PWD
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 12 While/EndWhile
; 44 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------