home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAPCP01.ZIP / CU2B / CU-2BETA.ZIP / CALLUP.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-07-11  |  9KB  |  675 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.1O (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.         PrintLn "@X0C                   CallUp v2.ß Is Currently Unregistered."
  436.     Endif
  437.     Return
  438.     :LABEL011
  439.     STRING019 = ""
  440.     STRING020 = ""
  441.     STRING021 = ""
  442.     While (STRING018 <> "C") Do
  443.         STRING018 = ""
  444.         While (Len(StripStr(STRING019, " ")) < 3) Do
  445.             InputStr "@X0FYour Area Code (enter to abort): ", STRING019, 15, 3, Mask_Num(), 2 + 32 + 4
  446.             If (STRING019 == "") Then
  447.                 Gosub LABEL010
  448.                 PrintLn 
  449.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  450.                 PrintLn 
  451.                 Wait
  452.                 Cls
  453.                 End
  454.             Endif
  455.         EndWhile
  456.         While (Len(StripStr(STRING020, " ")) < 3) Do
  457.             InputStr "@X0FYour Prefix (enter to abort): ", STRING020, 15, 3, Mask_Num(), 2 + 32 + 4
  458.             If (STRING020 == "") Then
  459.                 Gosub LABEL010
  460.                 PrintLn 
  461.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  462.                 PrintLn 
  463.                 Wait
  464.                 Cls
  465.                 End
  466.             Endif
  467.         EndWhile
  468.         While (Len(StripStr(STRING021, " ")) < 4) Do
  469.             InputStr "@X0FYour Suffix (enter to abort): ", STRING021, 15, 4, Mask_Num(), 2 + 32 + 4
  470.             If (STRING021 == "") Then
  471.                 Gosub LABEL010
  472.                 PrintLn 
  473.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  474.                 PrintLn 
  475.                 Wait
  476.                 Cls
  477.                 End
  478.             Endif
  479.         EndWhile
  480.         STRING022 = STRING019 + STRING020 + STRING021
  481.         While (STRING018 == "") Do
  482.             InputStr "@X0FYou Entered @X0C" + STRING019 + "-" + STRING020 + "-" + STRING021 + "@X0F (C)ontinue or (R)e-enter ", STRING018, 15, 1, "CR", 8 + 2 + 32 + 4
  483.             If (STRING018 == "") Then
  484.                 Gosub LABEL010
  485.                 PrintLn 
  486.                 DispFile PPEPath() + "ABORT", 2 + 1 + 4
  487.                 PrintLn 
  488.                 Wait
  489.                 Cls
  490.                 End
  491.             Endif
  492.         EndWhile
  493.     EndWhile
  494.     Return
  495.     :LABEL012
  496.     FOpen 1, PPEPath() + "VERIFIED.DAT", 0, 3
  497.     SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
  498.     While (!Ferr(1) && !BOOLEAN005) Do
  499.         FGet 1, STRING024
  500.         STRING024 = Mid(STRING024, 1, 12)
  501.         SearchFind STRING024, BOOLEAN005
  502.     EndWhile
  503.     SearchStop
  504.     FClose 1
  505.     If (BOOLEAN005) Then
  506.         Gosub LABEL010
  507.         PrintLn 
  508.         DispFile PPEPath() + "ALRDY", 2 + 1 + 4
  509.         PrintLn 
  510.         Wait
  511.         Cls
  512.         End
  513.     Endif
  514.     Return
  515.     :LABEL013
  516.     FOpen 1, PPEPath() + "TRASH.DAT", 0, 3
  517.     SearchInit STRING019 + "-" + STRING020 + "-" + STRING021, 0
  518.     While (!Ferr(1) && !BOOLEAN006) Do
  519.         FGet 1, STRING024
  520.         STRING024 = Mid(STRING024, 1, 12)
  521.         If (Mid(STRING024, 1, 12) == STRING019 + "-???-????") Then
  522.             Gosub LABEL010
  523.             PrintLn 
  524.             DispFile PPEPath() + "ACNO", 2 + 1 + 4
  525.             PrintLn 
  526.             Wait
  527.             Cls
  528.             End
  529.         Endif
  530.         If (Mid(STRING024, 1, 12) == "???-" + STRING020 + "-????") Then
  531.             Gosub LABEL010
  532.             PrintLn 
  533.             DispFile PPEPath() + "PRENO", 2 + 1 + 4
  534.             PrintLn 
  535.             Wait
  536.             Cls
  537.             End
  538.         Endif
  539.         If (Mid(STRING024, 1, 12) == "???-???-" + STRING021) Then
  540.             Gosub LABEL010
  541.             PrintLn 
  542.             DispFile PPEPath() + "SUFNO", 2 + 1 + 4
  543.             PrintLn 
  544.             Wait
  545.             Cls
  546.             End
  547.         Endif
  548.         If (Mid(STRING024, 1, 12) == STRING019 + "-" + STRING020 + "-" + STRING021) Then
  549.             Gosub LABEL010
  550.             PrintLn 
  551.             DispFile PPEPath() + "TRASH", 2 + 1 + 4
  552.             PrintLn 
  553.             Wait
  554.             Cls
  555.             End
  556.         Endif
  557.         SearchFind STRING024, BOOLEAN006
  558.     EndWhile
  559.     SearchStop
  560.     FClose 1
  561.     Return
  562.  
  563. ;------------------------------------------------------------------------------
  564. ;
  565. ; Usage report (before postprocessing)
  566. ;
  567. ; ■ Statements used :
  568. ;
  569. ;    19      End
  570. ;    20      Cls
  571. ;    24      Wait
  572. ;    82      Goto 
  573. ;    80      Let 
  574. ;    1       Print 
  575. ;    77      PrintLn 
  576. ;    64      If 
  577. ;    25      DispFile 
  578. ;    6       FOpen 
  579. ;    1       FAppend 
  580. ;    7       FClose 
  581. ;    21      FGet 
  582. ;    1       FPutLn 
  583. ;    2       Hangup
  584. ;    1       GetUser
  585. ;    1       PutUser
  586. ;    7       InputStr 
  587. ;    29      Gosub 
  588. ;    6       Return
  589. ;    1       DtrOn
  590. ;    1       DtrOff
  591. ;    1       CdChkOn
  592. ;    1       CdChkOff
  593. ;    4       Delay 
  594. ;    7       SendModem 
  595. ;    1       WaitFor 
  596. ;    1       KbdChkOn
  597. ;    1       KbdChkOff
  598. ;    1       Forward 
  599. ;    1       KbdFlush
  600. ;    1       MdmFlush
  601. ;    5       SearchInit 
  602. ;    5       SearchFind 
  603. ;    5       SearchStop
  604. ;
  605. ;
  606. ; ■ Functions used :
  607. ;
  608. ;    5       *
  609. ;    12      /
  610. ;    179     +
  611. ;    2       -
  612. ;    19      ==
  613. ;    8       <>
  614. ;    10      <
  615. ;    2       <=
  616. ;    3       >
  617. ;    7       >=
  618. ;    75      !
  619. ;    21      &&
  620. ;    5       ||
  621. ;    6       Len(
  622. ;    27      Mid()
  623. ;    5       Ferr()
  624. ;    2       Chr()
  625. ;    1       Asc()
  626. ;    6       Date()
  627. ;    9       Time()
  628. ;    1       U_Name()
  629. ;    4       Dow()
  630. ;    9       Strip()
  631. ;    2       String()
  632. ;    1       Mask_Pwd()
  633. ;    3       Mask_Num()
  634. ;    32      PPEPath()
  635. ;    1       OnLocal()
  636. ;    1       PPEName()
  637. ;    8       StripStr()
  638. ;
  639. ;------------------------------------------------------------------------------
  640. ;
  641. ; Analysis flags : WBMH
  642. ;
  643. ; W - Write user ■ 5
  644. ;     Program writes a user record. Although this may be normal for a
  645. ;     User Editor, it may also be a way to modify an account level.
  646. ;     ■ Search for : PUTUSER
  647. ;
  648. ; B - Brute hangup ■ 1
  649. ;     Program hangup without notification. This may be a good way to
  650. ;     disconnect a user, but if used randomly, may be very nasty
  651. ;     ■ Search for : HANGUP, DTROFF
  652. ;
  653. ; M - Send text to modem only ■ 4
  654. ;     Some informations are sent only to the modem, not to the local
  655. ;     screen, this is a well known way to make stealth backdoors, Check!
  656. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  657. ;
  658. ; H - Read Password or Password History ■ 5
  659. ;     Program is reading the user's password or last password history
  660. ;     This may be ok for a password manager, but it is very suspect. Check!
  661. ;     ■ Search for : U_PWDHIST, U_PWD
  662. ;
  663. ;------------------------------------------------------------------------------
  664. ;
  665. ; Postprocessing report
  666. ;
  667. ;    1       For/Next
  668. ;    12      While/EndWhile
  669. ;    44      If/Then or If/Then/Else
  670. ;    0       Select Case
  671. ;
  672. ;------------------------------------------------------------------------------
  673. ;                 AEGiS Corp - Break the routines, code against the machines!
  674. ;------------------------------------------------------------------------------
  675.