home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAPCP01.ZIP / CU2B / CALLUP.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-09-03  |  9KB  |  676 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Date     DATE002
  31.     Integer  INTEGER002
  32.     Integer  INTEGER003
  33.     Integer  INTEGER004
  34.     Integer  INTEGER005
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     String   STRING005
  39.     String   STRING006
  40.     String   STRING007
  41.     String   STRING008
  42.     String   STRING009
  43.     String   STRING010
  44.     String   STRING011
  45.     String   STRING012
  46.     String   STRING013
  47.     String   STRING014
  48.     String   STRING015
  49.     String   STRING016
  50.     String   STRING017
  51.     String   STRING018
  52.     String   STRING019
  53.     String   STRING020
  54.     String   STRING021
  55.     String   STRING022
  56.     String   STRING023
  57.     String   STRING024
  58.     String   STRING025
  59.     String   STRING026
  60.     String   STRING027
  61.     String   STRING028
  62.  
  63. ;------------------------------------------------------------------------------
  64.  
  65.     BOOLEAN001 = 0
  66.     BOOLEAN002 = 0
  67.     BOOLEAN003 = 0
  68.     BOOLEAN004 = 0
  69.     BOOLEAN005 = 0
  70.     BOOLEAN006 = 0
  71.     BOOLEAN007 = 0
  72.     BOOLEAN008 = 0
  73.     BOOLEAN009 = 0
  74.     BOOLEAN010 = 0
  75.     BOOLEAN011 = 0
  76.     DATE002 = Date()
  77.     STRING002 = ""
  78.     STRING003 = ""
  79.     STRING004 = ""
  80.     STRING005 = ""
  81.     STRING006 = ""
  82.     STRING007 = ""
  83.     STRING008 = ""
  84.     STRING009 = ""
  85.     STRING010 = ""
  86.     STRING011 = ""
  87.     STRING012 = ""
  88.     STRING013 = ""
  89.     STRING014 = ""
  90.     STRING015 = ""
  91.     STRING016 = ""
  92.     STRING017 = ""
  93.     STRING018 = ""
  94.     STRING019 = ""
  95.     STRING020 = ""
  96.     STRING021 = ""
  97.     STRING022 = ""
  98.     STRING023 = ""
  99.     STRING024 = ""
  100.     STRING025 = ""
  101.     STRING026 = ""
  102.     STRING027 = ""
  103.     STRING028 = ""
  104.     INTEGER003 = 0
  105.     INTEGER004 = 0
  106.     INTEGER005 = 0
  107.     INTEGER002 = 0
  108.     FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
  109.     FGet 1, STRING002
  110.     FGet 1, STRING003
  111.     FGet 1, STRING004
  112.     FGet 1, STRING005
  113.     FGet 1, STRING006
  114.     FGet 1, STRING007
  115.     FGet 1, STRING008
  116.     FGet 1, BOOLEAN001
  117.     FGet 1, STRING009
  118.     FGet 1, STRING010
  119.     FGet 1, STRING011
  120.     FGet 1, BOOLEAN002
  121.     FGet 1, STRING012
  122.     FGet 1, STRING013
  123.     FGet 1, BOOLEAN003
  124.     FGet 1, STRING014
  125.     FClose 1
  126.     For INTEGER002 = 1 To 25
  127.         STRING015 = Mid(STRING002, INTEGER002, 1)
  128.         INTEGER003 = Asc(STRING015) + 3
  129.         INTEGER004 = INTEGER004 + INTEGER003
  130.     Next
  131.     STRING016 = (((((((INTEGER004 * Len(Strip(STRING002, " "))) * 4) / 2) * 6) / 2) * 8) / 2) * 10
  132.     Gosub LABEL010
  133.     GetUser
  134.     If (U_Sec > STRING004) Then
  135.         PrintLn 
  136.         DispFile PPEPath() + "2HIGH", 2 + 1 + 4
  137.         PrintLn 
  138.         Wait
  139.         Cls
  140.         End
  141.     Endif
  142.     PrintLn 
  143.     DispFile PPEPath() + "WELC", 2 + 1 + 4
  144.     PrintLn 
  145.     Wait
  146.     Gosub LABEL010
  147.     PrintLn 
  148.     DispFile PPEPath() + "SEL", 2 + 1 + 4
  149.     If (BOOLEAN002) Then
  150.         PrintLn 
  151.         PrintLn "@X0CHit <enter> to abort callback."
  152.         InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " or (E)nter number ", STRING017, 15, 1, "DEV", 8 + 32 + 2 + 4
  153.     Endif
  154.     If (BOOLEAN002) Goto LABEL001
  155.     PrintLn 
  156.     PrintLn "@X0CHit <enter> to abort callback."
  157.     InputStr "@X0FCall Your (V)oice " + U_HVPhone + " (D)ata " + U_BDPhone + " Line ", STRING017, 15, 1, "DV", 8 + 32 + 2 + 4
  158.     :LABEL001
  159.     If (STRING017 == "") Then
  160.         Gosub LABEL010
  161.         PrintLn 
  162.         DispFile PPEPath() + "ABORT", 2 + 1 + 4
  163.         PrintLn 
  164.         Wait
  165.         Cls
  166.         End
  167.     Endif
  168.     If (STRING017 == "D") Gosub LABEL008
  169.     If (STRING017 == "V") Gosub LABEL008
  170.     If (STRING017 == "E") Gosub LABEL011
  171.     Gosub LABEL009
  172.     If (BOOLEAN004) Goto LABEL002
  173.     Goto LABEL003
  174.     :LABEL002
  175.     Gosub LABEL011
  176.     :LABEL003
  177.     Gosub LABEL012
  178.     Gosub LABEL013
  179.     FOpen 1, PPEPath() + "LOC_EXC.DAT", 0, 3
  180.     SearchInit STRING019 + "-" + STRING020, 1
  181.     While (!Ferr(1) && !BOOLEAN007) Do
  182.         FGet 1, STRING023
  183.         SearchFind STRING023, BOOLEAN007
  184.     EndWhile
  185.     SearchStop
  186.     FClose 1
  187.     If (BOOLEAN007) Then
  188.         Goto LABEL006
  189.     Endif
  190.     If (BOOLEAN008) Goto LABEL004
  191.     FOpen 1, PPEPath() + "LC_EX_1.DAT", 0, 3
  192.     SearchInit STRING019 + "-" + STRING020, 1
  193.     While (!Ferr(1) && !BOOLEAN008) Do
  194.         FGet 1, STRING023
  195.         SearchFind STRING023, BOOLEAN008
  196.     EndWhile
  197.     SearchStop
  198.     FClose 1
  199.     :LABEL004
  200.     If (BOOLEAN008) Then
  201.         Goto LABEL006
  202.     Endif
  203.     If (BOOLEAN001) Then
  204.         FOpen 1, PPEPath() + "AREACODE.DAT", 0, 3
  205.         SearchInit STRING019, 1
  206.         While (!Ferr(1) && !BOOLEAN009) Do
  207.             FGet 1, STRING024
  208.             SearchFind STRING024, BOOLEAN009
  209.         EndWhile
  210.         SearchStop
  211.         FClose 1
  212.     Endif
  213.     If (BOOLEAN009) Goto LABEL005
  214.     Gosub LABEL010
  215.     PrintLn 
  216.     DispFile PPEPath() + "ACLDN", 2 + 1 + 4
  217.     PrintLn 
  218.     Wait
  219.     Cls
  220.     End
  221.     :LABEL005
  222.     If (Mid(STRING010, 1, 5) < Mid(STRING011, 1, 5)) Then
  223.         If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
  224.             Gosub LABEL010
  225.             PrintLn 
  226.             DispFile PPEPath() + "LDNO", 2 + 1 + 4
  227.             PrintLn 
  228.             Wait
  229.             Cls
  230.             End
  231.         Endif
  232.     Endif
  233.     If (Mid(STRING010, 7, 5) < Mid(STRING011, 7, 5)) Then
  234.         If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) || (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
  235.             Gosub LABEL010
  236.             PrintLn 
  237.             DispFile PPEPath() + "LDNO", 2 + 1 + 4
  238.             PrintLn 
  239.             Wait
  240.             Cls
  241.             End
  242.         Endif
  243.     Endif
  244.     If (Mid(STRING010, 1, 5) > Mid(STRING011, 1, 5)) Then
  245.         If (((Dow(Date()) <> 6) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 1, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 1, 5)))) Then
  246.             Gosub LABEL010
  247.             PrintLn 
  248.             DispFile PPEPath() + "LDNO", 2 + 1 + 4
  249.             PrintLn 
  250.             Wait
  251.             Cls
  252.             End
  253.         Endif
  254.     Endif
  255.     If (Mid(STRING010, 7, 5) > Mid(STRING011, 7, 5)) Then
  256.         If (((Dow(Date()) == 7) && BOOLEAN009) && ((Time() / 36 < Mid(Strip(STRING010, ":"), 7, 5)) && (Time() / 36 >= Mid(Strip(STRING011, ":"), 7, 5)))) Then
  257.             Gosub LABEL010
  258.             PrintLn 
  259.             DispFile PPEPath() + "LDNO", 2 + 1 + 4
  260.             PrintLn 
  261.             Wait
  262.             Cls
  263.             End
  264.         Endif
  265.     Endif
  266.     If (BOOLEAN009) Then
  267.         Goto LABEL006
  268.     Endif
  269.     If ((!BOOLEAN007 && !BOOLEAN008) && !BOOLEAN009) Then
  270.         Gosub LABEL010
  271.         PrintLn 
  272.         DispFile PPEPath() + "ERROR", 2 + 1 + 4
  273.         PrintLn 
  274.         Wait
  275.         Cls
  276.         End
  277.     Endif
  278.     :LABEL006
  279.     Gosub LABEL010
  280.     PrintLn 
  281.     DispFile PPEPath() + "CALL", 2 + 1 + 4
  282.     PrintLn 
  283.     Wait
  284.     If (BOOLEAN007) Then
  285.         PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING008 + "@X0F) attempt(s) to connect to you."
  286.         PrintLn 
  287.         PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
  288.         PrintLn 
  289.         Wait
  290.         STRING026 = STRING008
  291.         STRING027 = 1
  292.     Endif
  293.     If (BOOLEAN009 || BOOLEAN008) Then
  294.         PrintLn "@X0F" + STRING002 + " will make (@X0C" + STRING009 + "@X0F) attempt(s) to connect to you."
  295.         PrintLn 
  296.         PrintLn "@X0FEach attempt will last for (@X0C" + STRING012 + "@X0F) seconds."
  297.         PrintLn 
  298.         Wait
  299.         STRING026 = STRING009
  300.         STRING027 = 1
  301.     Endif
  302.     If (OnLocal()) Then
  303.         BOOLEAN011 = 1
  304.         PrintLn 
  305.         PrintLn "                <<<*** BEGINNING LOCAL MODE SIMULATON ***>>>"
  306.         PrintLn 
  307.         Wait
  308.     Else
  309.         While ((STRING026 >= STRING027) && !BOOLEAN010) Do
  310.             CdChkOff
  311.             KbdChkOff
  312.             DtrOff
  313.             Delay 180
  314.             DtrOn
  315.             STRING026 = STRING026 - 1
  316.             PrintLn "@X0CUser has " + STRING026 + " attempts left."
  317.             PrintLn "@X0CInitializing modem...."
  318.             SendModem "AT" + STRING013
  319.             SendModem Chr(13)
  320.             Delay 180
  321.             PrintLn "@X0CDialing and waiting...."
  322.             SendModem "ATDT"
  323.             If (BOOLEAN007) Then
  324.                 SendModem STRING020 + STRING021
  325.             ElseIf (BOOLEAN008) Then
  326.                 SendModem "1" + STRING020 + STRING021
  327.             ElseIf (BOOLEAN009) Then
  328.                 SendModem "1" + STRING019 + STRING020 + STRING021
  329.                 Goto LABEL007
  330.             Endif
  331.             :LABEL007
  332.             SendModem Chr(13)
  333.             WaitFor "CONNECT", BOOLEAN010, STRING012
  334.         EndWhile
  335.         If (BOOLEAN010) Then
  336.             CdChkOn
  337.             KbdChkOn
  338.         Endif
  339.         STRING026 = 1
  340.         While ((STRING026 <= STRING006) && (STRING025 <> U_Pwd)) Do
  341.             KbdFlush
  342.             MdmFlush
  343.             Cls
  344.             PrintLn 
  345.             PrintLn 
  346.             PrintLn 
  347.             Gosub LABEL010
  348.             DispFile PPEPath() + "PWORD", 2 + 1 + 4
  349.             PrintLn 
  350.             InputStr "@X0CEnter Password:", STRING025, 15, 12, Mask_Pwd(), 8 + 1 + 32 + 2
  351.             If (STRING025 <> U_Pwd) Then
  352.                 PrintLn 
  353.                 DispFile PPEPath() + "WRONG", 2 + 1 + 4
  354.                 PrintLn 
  355.                 STRING026 = STRING026 + 1
  356.                 STRING025 = ""
  357.                 Wait
  358.             Endif
  359.         EndWhile
  360.         If (STRING025 <> U_Pwd) Then
  361.             Gosub LABEL010
  362.             PrintLn 
  363.             DispFile PPEPath() + "OUT", 2 + 1 + 4
  364.             PrintLn 
  365.             Delay 180
  366.             Hangup
  367.         Endif
  368.         If (STRING025 == U_Pwd) Then
  369.             U_Sec = STRING005
  370.             U_ExpDate = DATE002 + STRING007
  371.             If (BOOLEAN003) Then
  372.                 STRING028 = "[" + STRING019 + "-" + STRING020 + "-" + STRING021 + "] " + String(Date()) + " " + Mid(String(Time()), 1, 5)
  373.                 U_Cmnt2 = STRING028
  374.             Endif
  375.             Gosub LABEL010
  376.             DispFile PPEPath() + "UP", 2 + 1 + 4
  377.             PrintLn 
  378.             PutUser
  379.             FAppend 1, PPEPath() + "VERIFIED.DAT", 1, 3
  380.             FPutLn 1, STRING019 + "-" + STRING020 + "-" + STRING021 + " :" + U_Name()
  381.             FClose 1
  382.         Endif
  383.         If (BOOLEAN011) Then
  384.             End
  385.         Endif
  386.         If (BOOLEAN009 || BOOLEAN008) Then
  387.             DispFile PPEPath() + "LDOFF", 2 + 1 + 4
  388.             PrintLn 
  389.             Delay 180
  390.             Hangup
  391.         Endif
  392.         If (BOOLEAN007) Then
  393.             Wait
  394.         Endif
  395.     Endif
  396.     Cls
  397.     End
  398.     :LABEL008
  399.     If (STRING017 == "D") Then
  400.         STRING022 = StripStr(U_BDPhone, "(")
  401.     Endif
  402.     If (STRING017 == "V") Then
  403.         STRING022 = StripStr(U_HVPhone, "(")
  404.     Endif
  405.     STRING022 = StripStr(STRING022, ")")
  406.     STRING022 = StripStr(STRING022, "-")
  407.     STRING022 = StripStr(STRING022, " ")
  408.     STRING019 = Mid(STRING022, 1, 3)
  409.     STRING020 = Mid(STRING022, 4, 3)
  410.     STRING021 = Mid(STRING022, 7, 4)
  411.     Return
  412.     :LABEL009
  413.     If (Len(STRING022) <> 10) Then
  414.         PrintLn 
  415.         PrintLn "@X0CPhone Number Must Be In (xxx)xxx-xxxx of xxx-xxx-xxxx Format."
  416.         PrintLn "@X0CPlease enter your phone number with full area code."
  417.         PrintLn 
  418.         STRING017 = "E"
  419.         BOOLEAN004 = 1
  420.     Endif
  421.     Return
  422.     :LABEL010
  423.     Cls
  424.     PrintLn 
  425.     PrintLn "@X0F              Welcome to CallUp v2.ß -- User Callback Verifier."
  426.     PrintLn "@X0F                     Copyright (C) 1995 James Nerlinger"
  427.     PrintLn 
  428.     If (STRING016 == STRING003) Then
  429.         INTEGER005 = (50 - Len(STRING002)) / 2
  430.         Forward INTEGER005
  431.         Print "@X0FCallUp v2.ß Is Registered To " + STRING002
  432.         PrintLn 
  433.     Endif
  434.     If (STRING016 <> STRING003) Then
  435.         Forward INTEGER005
  436.         Print "@X0FCallUp v2.ß Is Registered To " + STRING002
  437.     Endif
  438.     Return
  439.     :LABEL011
  440.     STRING019 = ""
  441.     STRING020 = ""
  442.     STRING021 = ""
  443.     While (STRING018 <> "C") Do
  444.         STRING018 = ""
  445.         While (Len(StripStr(STRING019, " ")) < 3) Do
  446.             InputStr "@X0FYour Area Code (enter to abort): ", STRING019, 15, 3, Mask_Num(), 2 + 32 + 4
  447.             If (STRING019 == "") Then
  448.                 Gosub LABEL010
  449.                 PrintLn 
  450.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  451.                 PrintLn 
  452.                 Wait
  453.                 Cls
  454.                 End
  455.             Endif
  456.         EndWhile
  457.         While (Len(StripStr(STRING020, " ")) < 3) Do
  458.             InputStr "@X0FYour Prefix (enter to abort): ", STRING020, 15, 3, Mask_Num(), 2 + 32 + 4
  459.             If (STRING020 == "") Then
  460.                 Gosub LABEL010
  461.                 PrintLn 
  462.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  463.                 PrintLn 
  464.                 Wait
  465.                 Cls
  466.                 End
  467.             Endif
  468.         EndWhile
  469.         While (Len(StripStr(STRING021, " ")) < 4) Do
  470.             InputStr "@X0FYour Suffix (enter to abort): ", STRING021, 15, 4, Mask_Num(), 2 + 32 + 4
  471.             If (STRING021 == "") Then
  472.                 Gosub LABEL010
  473.                 PrintLn 
  474.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  475.                 PrintLn 
  476.                 Wait
  477.                 Cls
  478.                 End
  479.             Endif
  480.         EndWhile
  481.         STRING022 = STRING019 + STRING020 + STRING021
  482.         While (STRING018 == "") Do
  483.             InputStr "@X0FYou Entered @X0C" + STRING019 + "-" + STRING020 + "-" + STRING021 + "@X0F (C)ontinue or (R)e-enter ", STRING018, 15, 1, "CR", 8 + 2 + 32 + 4
  484.             If (STRING018 == "") Then
  485.                 Gosub LABEL010
  486.                 PrintLn 
  487.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  488.                 PrintLn 
  489.                 Wait
  490.                 Cls
  491.                 End
  492.             Endif
  493.         EndWhile
  494.     EndWhile
  495.     Return
  496.     :LABEL012
  497.     FOpen 1, PPEPath() + "VERIFIED.DAT", 0, 3
  498.     SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
  499.     While (!Ferr(1) && !BOOLEAN005) Do
  500.         FGet 1, STRING024
  501.         STRING024 = Mid(STRING024, 1, 12)
  502.         SearchFind STRING024, BOOLEAN005
  503.     EndWhile
  504.     SearchStop
  505.     FClose 1
  506.     If (BOOLEAN005) Then
  507.         Gosub LABEL010
  508.         PrintLn 
  509.         DispFile PPEPath() + "ALRDY", 2 + 1 + 4
  510.         PrintLn 
  511.         Wait
  512.         Cls
  513.         End
  514.     Endif
  515.     Return
  516.     :LABEL013
  517.     FOpen 1, PPEPath() + "TRASH.DAT", 0, 3
  518.     SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
  519.     While (!Ferr(1) && !BOOLEAN006) Do
  520.         FGet 1, STRING024
  521.         STRING024 = Mid(STRING024, 1, 12)
  522.         If (Mid(STRING024, 1, 12) == STRING019 + "-???-????") Then
  523.             Gosub LABEL010
  524.             PrintLn 
  525.             DispFile PPEPath() + "ACNO", 2 + 1 + 4
  526.             PrintLn 
  527.             Wait
  528.             Cls
  529.             End
  530.         Endif
  531.         If (Mid(STRING024, 1, 12) == "???-" + STRING020 + "-????") Then
  532.             Gosub LABEL010
  533.             PrintLn 
  534.             DispFile PPEPath() + "PRENO", 2 + 1 + 4
  535.             PrintLn 
  536.             Wait
  537.             Cls
  538.             End
  539.         Endif
  540.         If (Mid(STRING024, 1, 12) == "???-???-" + STRING021) Then
  541.             Gosub LABEL010
  542.             PrintLn 
  543.             DispFile PPEPath() + "SUFNO", 2 + 1 + 4
  544.             PrintLn 
  545.             Wait
  546.             Cls
  547.             End
  548.         Endif
  549.         If (Mid(STRING024, 1, 12) == STRING019 + "-" + STRING020 + "-" + STRING021) Then
  550.             Gosub LABEL010
  551.             PrintLn 
  552.             DispFile PPEPath() + "TRASH", 2 + 1 + 4
  553.             PrintLn 
  554.             Wait
  555.             Cls
  556.             End
  557.         Endif
  558.         SearchFind STRING024, BOOLEAN006
  559.     EndWhile
  560.     SearchStop
  561.     FClose 1
  562.     Return
  563.  
  564. ;------------------------------------------------------------------------------
  565. ;
  566. ; Usage report (before postprocessing)
  567. ;
  568. ; ■ Statements used :
  569. ;
  570. ;    19      End
  571. ;    20      Cls
  572. ;    24      Wait
  573. ;    82      Goto 
  574. ;    80      Let 
  575. ;    2       Print 
  576. ;    76      PrintLn 
  577. ;    64      If 
  578. ;    25      DispFile 
  579. ;    6       FOpen 
  580. ;    1       FAppend 
  581. ;    7       FClose 
  582. ;    21      FGet 
  583. ;    1       FPutLn 
  584. ;    2       Hangup
  585. ;    1       GetUser
  586. ;    1       PutUser
  587. ;    7       InputStr 
  588. ;    29      Gosub 
  589. ;    6       Return
  590. ;    1       DtrOn
  591. ;    1       DtrOff
  592. ;    1       CdChkOn
  593. ;    1       CdChkOff
  594. ;    4       Delay 
  595. ;    7       SendModem 
  596. ;    1       WaitFor 
  597. ;    1       KbdChkOn
  598. ;    1       KbdChkOff
  599. ;    2       Forward 
  600. ;    1       KbdFlush
  601. ;    1       MdmFlush
  602. ;    5       SearchInit 
  603. ;    5       SearchFind 
  604. ;    5       SearchStop
  605. ;
  606. ;
  607. ; ■ Functions used :
  608. ;
  609. ;    5       *
  610. ;    12      /
  611. ;    180     +
  612. ;    2       -
  613. ;    19      ==
  614. ;    8       <>
  615. ;    10      <
  616. ;    2       <=
  617. ;    3       >
  618. ;    7       >=
  619. ;    71      !
  620. ;    21      &&
  621. ;    5       ||
  622. ;    6       Len(
  623. ;    27      Mid()
  624. ;    5       Ferr()
  625. ;    2       Chr()
  626. ;    1       Asc()
  627. ;    6       Date()
  628. ;    9       Time()
  629. ;    1       U_Name()
  630. ;    4       Dow()
  631. ;    9       Strip()
  632. ;    2       String()
  633. ;    1       Mask_Pwd()
  634. ;    3       Mask_Num()
  635. ;    32      PPEPath()
  636. ;    1       OnLocal()
  637. ;    1       PPEName()
  638. ;    8       StripStr()
  639. ;
  640. ;------------------------------------------------------------------------------
  641. ;
  642. ; Analysis flags : WBMH
  643. ;
  644. ; W - Write user ■ 5
  645. ;     Program writes a user record. Although this may be normal for a
  646. ;     User Editor, it may also be a way to modify an account level.
  647. ;     ■ Search for : PUTUSER
  648. ;
  649. ; B - Brute hangup ■ 1
  650. ;     Program hangup without notification. This may be a good way to
  651. ;     disconnect a user, but if used randomly, may be very nasty
  652. ;     ■ Search for : HANGUP, DTROFF
  653. ;
  654. ; M - Send text to modem only ■ 4
  655. ;     Some informations are sent only to the modem, not to the local
  656. ;     screen, this is a well known way to make stealth backdoors, Check!
  657. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  658. ;
  659. ; H - Read Password or Password History ■ 5
  660. ;     Program is reading the user's password or last password history
  661. ;     This may be ok for a password manager, but it is very suspect. Check!
  662. ;     ■ Search for : U_PWDHIST, U_PWD
  663. ;
  664. ;------------------------------------------------------------------------------
  665. ;
  666. ; Postprocessing report
  667. ;
  668. ;    1       For/Next
  669. ;    12      While/EndWhile
  670. ;    44      If/Then or If/Then/Else
  671. ;    0       Select Case
  672. ;
  673. ;------------------------------------------------------------------------------
  674. ;                 AEGiS Corp - Break the routines, code against the machines!
  675. ;------------------------------------------------------------------------------
  676.