home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / T2-WREP.ZIP / W.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1995-05-28  |  9KB  |  496 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  BOOLEAN007
  20.     String   STRING002
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     String   STRING006
  25.     String   STRING007
  26.     String   STRING008
  27.     String   STRING009
  28.     String   STRING010
  29.     String   STRING011
  30.     String   STRING012
  31.     String   STRING013
  32.     String   STRING014
  33.     String   STRING015
  34.     String   STRING016
  35.     String   STRING017
  36.     String   STRING018
  37.     String   STRING019
  38.     String   STRING020
  39.     String   STRING021
  40.     String   STRING022
  41.     String   STRING023
  42.     String   STRING024
  43.     String   STRING025
  44.     String   STRING026
  45.     String   TSTRING027(9)
  46.     String   STRING028
  47.     String   TSTRING029(9)
  48.     String   STRING030
  49.     String   STRING031
  50.     String   TSTRING032(9)
  51.     String   STRING033
  52.     String   STRING034
  53.     String   STRING035
  54.     String   STRING036
  55.  
  56. ;------------------------------------------------------------------------------
  57.  
  58.     Cls
  59.     FOpen 1, PPEPath() + "W.CFG", 0, 0
  60.     FGet 1, STRING005
  61.     FGet 1, STRING006
  62.     FGet 1, STRING008
  63.     FGet 1, STRING009
  64.     FGet 1, STRING010
  65.     FGet 1, STRING011
  66.     FGet 1, STRING022
  67.     FGet 1, STRING026
  68.     FGet 1, STRING012
  69.     FGet 1, STRING013
  70.     FGet 1, STRING014
  71.     FGet 1, STRING015
  72.     FGet 1, STRING016
  73.     FGet 1, STRING017
  74.     FGet 1, STRING018
  75.     FGet 1, STRING021
  76.     FGet 1, STRING019
  77.     FGet 1, STRING020
  78.     FGet 1, STRING024
  79.     FGet 1, STRING030
  80.     FGet 1, STRING031
  81.     FGet 1, STRING033
  82.     FGet 1, STRING034
  83.     FGet 1, STRING035
  84.     FGet 1, STRING036
  85.     FGet 1, TSTRING032(1)
  86.     FGet 1, TSTRING032(2)
  87.     FGet 1, TSTRING032(3)
  88.     FGet 1, TSTRING032(4)
  89.     FGet 1, TSTRING032(5)
  90.     FGet 1, TSTRING032(6)
  91.     FGet 1, TSTRING032(7)
  92.     FGet 1, TSTRING032(8)
  93.     FClose 1
  94.     STRING007 = "                           @X0FUSER INFO v1.0 by Cyber"
  95.     AnsiPos 1, 2
  96.     PrintLn STRING005 + "┌──────────────           ─      ∙    ·  ·    ∙      ─           ────────────┐"
  97.     PrintLn STRING005 + "│" + STRING007, STRING005 + "@POS:78@│"
  98.     PrintLn STRING005 + "├───┬──────────────────────────────┬─────────────────────────────┬───────────┤"
  99.     PrintLn STRING005 + "│" + STRING008, STRING005 + "@POS:36@│ " + STRING009, STRING005 + "@POS:66@│ " + STRING010, STRING005 + "@POS:78@│"
  100.     PrintLn STRING005 + "├───┴──────────────────────────────┼─────────────────────────────┼───────────┤"
  101.     PrintLn STRING005 + "│                                  │                             │           │"
  102.     PrintLn STRING005 + "│" + STRING012, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  103.     PrintLn STRING005 + "│" + STRING013, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  104.     PrintLn STRING005 + "│" + STRING014, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  105.     PrintLn STRING005 + "│" + STRING015, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  106.     PrintLn STRING005 + "│" + STRING016, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  107.     PrintLn STRING005 + "│" + STRING017, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  108.     PrintLn STRING005 + "│" + STRING018, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  109.     PrintLn STRING005 + "│" + STRING021, STRING005 + "@POS:36@│@POS:66@│" + STRING011, STRING005 + "@POS:78@│"
  110.     PrintLn STRING005 + "│                                  │                             │           │"
  111.     PrintLn STRING005 + "│                                  @POS:36@├───────────┬─────────────────┴───────────┤"
  112.     PrintLn STRING005 + "│                                  @POS:36@│" + STRING026, STRING005 + "@POS:78@│"
  113.     PrintLn STRING005 + "├──────────────────────────────────@POS:36@┴───────────┴─────────────────@POS:66@────────────┤"
  114.     PrintLn STRING005 + "│                                                                            │"
  115.     PrintLn STRING005 + "└──────────────           ─      ∙    ·  ·    ∙      ─           ────────────┘"
  116.     :LABEL001
  117.     NewPwd STRING002, BOOLEAN007
  118.     STRING003 = U_Pwd
  119.     AnsiPos 39, 8
  120.     Print "            "
  121.     AnsiPos 39, 8
  122.     PrintLn STRING006, STRING003
  123.     AnsiPos 39, 9
  124.     GetUser
  125.     STRING023 = U_City
  126.     AnsiPos 39, 9
  127.     Print "                        "
  128.     AnsiPos 39, 9
  129.     Print STRING006, STRING023
  130.     PutUser
  131.     GetUser
  132.     TSTRING027(1) = U_Cls
  133.     AnsiPos 39, 10
  134.     Print "               "
  135.     Select Case (TSTRING027(1))
  136.         Case 0
  137.             AnsiPos 39, 10
  138.             Print STRING006, "No"
  139.         Case 1
  140.             AnsiPos 39, 10
  141.             Print STRING006, "Yes"
  142.     End Select
  143.     PutUser
  144.     GetUser
  145.     TSTRING027(2) = U_Scroll
  146.     AnsiPos 39, 11
  147.     Print "               "
  148.     Select Case (TSTRING027(2))
  149.         Case 0
  150.             AnsiPos 39, 11
  151.             Print STRING006, "No"
  152.         Case 1
  153.             AnsiPos 39, 11
  154.             Print STRING006, "Yes"
  155.     End Select
  156.     PutUser
  157.     GetUser
  158.     AnsiPos 39, 12
  159.     Print "               "
  160.     If ((U_FSE == 1) && (U_FSEP == 0)) Then
  161.         AnsiPos 39, 12
  162.         Print STRING006, "Yes"
  163.     ElseIf ((U_FSE == 0) && (U_FSEP == 1)) Then
  164.         AnsiPos 39, 12
  165.         Print STRING006, "Ask"
  166.     ElseIf ((U_FSE == 0) && (U_FSEP == 0)) Then
  167.         AnsiPos 39, 12
  168.         Print STRING006, "No"
  169.     Endif
  170.     PutUser
  171.     GetUser
  172.     TSTRING027(3) = U_Def79
  173.     AnsiPos 39, 13
  174.     Print "               "
  175.     Select Case (TSTRING027(3))
  176.         Case 0
  177.             AnsiPos 39, 13
  178.             Print STRING006, "No"
  179.         Case 1
  180.             AnsiPos 39, 13
  181.             Print STRING006, "Yes"
  182.     End Select
  183.     PutUser
  184.     AnsiPos 39, 14
  185.     Print "      "
  186.     AnsiPos 39, 14
  187.     PrintLn STRING006, U_PageLen
  188.     GetUser
  189.     TSTRING027(4) = U_Expert
  190.     AnsiPos 39, 15
  191.     Print "               "
  192.     Select Case (TSTRING027(4))
  193.         Case 0
  194.             AnsiPos 39, 15
  195.             Print STRING006, "Off"
  196.         Case 1
  197.             AnsiPos 39, 15
  198.             Print STRING006, "On"
  199.     End Select
  200.     PutUser
  201.     AnsiPos 1, 20
  202.     Print "@POS:78@" + STRING005 + "│"
  203.     AnsiPos 47, 18
  204.     Print "                               "
  205.     AnsiPos 1, 20
  206.     STRING004 = ""
  207.     InputStr STRING005 + "│ " + STRING019, STRING004, 14, 1, "12345678Qq", 2 + 4 + 32
  208.     If (((STRING004 == "Q") || (STRING004 == "q")) || (STRING004 == "")) Goto LABEL010
  209.     Select Case (STRING004)
  210.         Case 1
  211.             AnsiPos 47, 18
  212.             PrintLn TSTRING032(1)
  213.             Goto LABEL002
  214.         Case 2
  215.             AnsiPos 47, 18
  216.             PrintLn TSTRING032(2)
  217.             Goto LABEL003
  218.         Case 3
  219.             AnsiPos 47, 18
  220.             PrintLn TSTRING032(3)
  221.             Goto LABEL004
  222.         Case 4
  223.             AnsiPos 47, 18
  224.             PrintLn TSTRING032(4)
  225.             Goto LABEL005
  226.         Case 5
  227.             AnsiPos 47, 18
  228.             PrintLn TSTRING032(5)
  229.             Goto LABEL006
  230.         Case 6
  231.             AnsiPos 47, 18
  232.             PrintLn TSTRING032(6)
  233.             Goto LABEL007
  234.         Case 7
  235.             AnsiPos 47, 18
  236.             PrintLn TSTRING032(7)
  237.             Goto LABEL008
  238.         Case 8
  239.             AnsiPos 47, 18
  240.             PrintLn TSTRING032(8)
  241.             Goto LABEL009
  242.     End Select
  243.     :LABEL002
  244.     STRING002 = 0
  245.     AnsiPos 1, 20
  246.     Print "@POS:78@" + STRING005 + "│"
  247.     AnsiPos 1, 20
  248.     InputStr STRING005 + "│ " + STRING020, STRING002, 1, 12, Mask_Pwd(), 1
  249.     Newline
  250.     NewPwd STRING002, BOOLEAN007
  251.     AnsiPos 67, 8
  252.     PrintLn STRING022 + "  "
  253.     AnsiPos 67, 8
  254.     If (!BOOLEAN007) Print STRING011
  255.     Goto LABEL001
  256.     :LABEL003
  257.     GetUser
  258.     STRING025 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890-/&$+()[]\|@%^,;:?#!~=_.*{} "
  259.     AnsiPos 1, 20
  260.     Print "@POS:78@" + STRING005 + "│"
  261.     AnsiPos 1, 20
  262.     STRING028 = U_City
  263.     InputStr STRING005 + "│ " + STRING024, STRING028, 14, 24, STRING025, 2 + 4 + 8 + 32
  264.     AnsiPos 67, 9
  265.     PrintLn STRING022 + "  "
  266.     AnsiPos 67, 9
  267.     If (STRING028 == U_City) Print STRING011
  268.     U_City = STRING028
  269.     PutUser
  270.     Goto LABEL001
  271.     :LABEL004
  272.     GetUser
  273.     AnsiPos 1, 20
  274.     Print "@POS:78@" + STRING005 + "│"
  275.     TSTRING029(1) = U_Cls
  276.     Select Case (TSTRING029(1))
  277.         Case 0
  278.             TSTRING029(1) = "N"
  279.         Case 1
  280.             TSTRING029(1) = "Y"
  281.     End Select
  282.     AnsiPos 1, 20
  283.     InputStr STRING005 + "│ " + STRING030, TSTRING029(1), 14, 1, "YyNn", 2 + 4 + 8 + 32
  284.     AnsiPos 67, 10
  285.     PrintLn STRING022 + "  "
  286.     AnsiPos 67, 10
  287.     If ((TSTRING029(1) == "N") || (TSTRING029(2) == "n")) Then
  288.         TSTRING029(1) = 0
  289.     ElseIf ((TSTRING029(1) == "Y") || (TSTRING029(2) == "y")) Then
  290.         TSTRING029(1) = 1
  291.     Endif
  292.     If (TSTRING029(1) == U_Cls) Print STRING011
  293.     U_Cls = TSTRING029(1)
  294.     PutUser
  295.     Goto LABEL001
  296.     :LABEL005
  297.     GetUser
  298.     AnsiPos 1, 20
  299.     Print "@POS:78@" + STRING005 + "│"
  300.     TSTRING029(2) = U_Scroll
  301.     Select Case (TSTRING029(2))
  302.         Case 0
  303.             TSTRING029(2) = "N"
  304.         Case 1
  305.             TSTRING029(2) = "Y"
  306.     End Select
  307.     AnsiPos 1, 20
  308.     InputStr STRING005 + "│ " + STRING031, TSTRING029(2), 14, 1, "YyNn", 2 + 4 + 8 + 32
  309.     AnsiPos 67, 11
  310.     PrintLn STRING022 + "  "
  311.     AnsiPos 67, 11
  312.     Select Case (TSTRING029(2))
  313.         Case "N", "n"
  314.             TSTRING029(2) = 0
  315.         Case "Y", "y"
  316.             TSTRING029(2) = 1
  317.     End Select
  318.     If (TSTRING029(2) == U_Scroll) Print STRING011
  319.     U_Scroll = TSTRING029(2)
  320.     PutUser
  321.     Goto LABEL001
  322.     :LABEL006
  323.     GetUser
  324.     AnsiPos 1, 20
  325.     Print "@POS:78@" + STRING005 + "│"
  326.     If ((U_FSE == 0) && (U_FSEP == 0)) Then
  327.         TSTRING029(3) = "N"
  328.     ElseIf ((U_FSE == 1) && (U_FSEP == 0)) Then
  329.         TSTRING029(3) = "Y"
  330.     ElseIf ((U_FSE == 0) && (U_FSEP == 1)) Then
  331.         TSTRING029(3) = "A"
  332.     Endif
  333.     AnsiPos 1, 20
  334.     InputStr STRING005 + "│ " + STRING033, TSTRING029(3), 14, 1, "YyNnAa", 2 + 4 + 8 + 32
  335.     AnsiPos 67, 12
  336.     PrintLn STRING022 + "  "
  337.     AnsiPos 67, 12
  338.     Select Case (TSTRING029(3))
  339.         Case "Y", "y"
  340.             TSTRING029(4) = 1
  341.             TSTRING029(5) = 0
  342.         Case "N", "n"
  343.             TSTRING029(4) = 0
  344.             TSTRING029(5) = 0
  345.         Case "A", "a"
  346.             TSTRING029(4) = 0
  347.             TSTRING029(5) = 1
  348.     End Select
  349.     If ((TSTRING029(4) == U_FSE) && (TSTRING029(5) == U_FSEP)) Print STRING011
  350.     Select Case (TSTRING029(3))
  351.         Case "Y", "y"
  352.             U_FSE = 1
  353.             U_FSEP = 0
  354.         Case "N", "n"
  355.             U_FSE = 0
  356.             U_FSEP = 0
  357.         Case "A", "a"
  358.             U_FSE = 0
  359.             U_FSEP = 1
  360.     End Select
  361.     PutUser
  362.     Goto LABEL001
  363.     :LABEL007
  364.     GetUser
  365.     AnsiPos 1, 20
  366.     Print "@POS:78@" + STRING005 + "│"
  367.     TSTRING029(6) = U_Def79
  368.     Select Case (TSTRING029(6))
  369.         Case 0
  370.             TSTRING029(6) = "N"
  371.         Case 1
  372.             TSTRING029(6) = "Y"
  373.     End Select
  374.     AnsiPos 1, 20
  375.     InputStr STRING005 + "│ " + STRING034, TSTRING029(6), 14, 1, "YyNn", 2 + 4 + 8 + 32
  376.     AnsiPos 67, 13
  377.     PrintLn STRING022 + "  "
  378.     AnsiPos 67, 13
  379.     Select Case (TSTRING029(6))
  380.         Case "N", "n"
  381.             TSTRING029(6) = 0
  382.         Case "Y", "y"
  383.             TSTRING029(6) = 1
  384.     End Select
  385.     If (TSTRING029(6) == U_Def79) Print STRING011
  386.     U_Def79 = TSTRING029(6)
  387.     PutUser
  388.     Goto LABEL001
  389.     :LABEL008
  390.     GetUser
  391.     AnsiPos 1, 20
  392.     Print "@POS:78@" + STRING005 + "│"
  393.     TSTRING029(7) = U_PageLen
  394.     AnsiPos 1, 20
  395.     InputStr STRING005 + "│ " + STRING035, TSTRING029(7), 14, 2, "1234567890", 2 + 4 + 8 + 32
  396.     AnsiPos 67, 14
  397.     PrintLn STRING022 + "  "
  398.     AnsiPos 67, 14
  399.     If (TSTRING029(7) == U_PageLen) Print STRING011
  400.     U_PageLen = TSTRING029(7)
  401.     PutUser
  402.     Goto LABEL001
  403.     :LABEL009
  404.     GetUser
  405.     AnsiPos 1, 20
  406.     Print "@POS:78@" + STRING005 + "│"
  407.     TSTRING029(8) = U_Expert
  408.     Select Case (TSTRING029(8))
  409.         Case 0
  410.             TSTRING029(8) = "F"
  411.         Case 1
  412.             TSTRING029(8) = "O"
  413.     End Select
  414.     AnsiPos 1, 20
  415.     InputStr STRING005 + "│ " + STRING036, TSTRING029(8), 14, 1, "OoFf", 2 + 4 + 8 + 32
  416.     AnsiPos 67, 15
  417.     PrintLn STRING022 + "   "
  418.     AnsiPos 67, 15
  419.     Select Case (TSTRING029(8))
  420.         Case "F", "f"
  421.             TSTRING029(8) = 0
  422.         Case "O", "o"
  423.             TSTRING029(8) = 1
  424.     End Select
  425.     If (TSTRING029(8) == U_Expert) Print STRING011
  426.     U_Expert = TSTRING029(8)
  427.     PutUser
  428.     Goto LABEL001
  429.     :LABEL010
  430.     Cls
  431.  
  432. ;------------------------------------------------------------------------------
  433. ;
  434. ; Usage report (before postprocessing)
  435. ;
  436. ; ■ Statements used :
  437. ;
  438. ;    2       Cls
  439. ;    88      Goto 
  440. ;    53      Let 
  441. ;    38      Print 
  442. ;    38      PrintLn 
  443. ;    53      If 
  444. ;    1       FOpen 
  445. ;    1       FClose 
  446. ;    33      FGet 
  447. ;    13      GetUser
  448. ;    13      PutUser
  449. ;    9       InputStr 
  450. ;    1       Newline
  451. ;    67      AnsiPos 
  452. ;    2       NewPwd 
  453. ;
  454. ;
  455. ; ■ Functions used :
  456. ;
  457. ;    130     +
  458. ;    75      ==
  459. ;    45      !
  460. ;    7       &&
  461. ;    16      ||
  462. ;    1       Mask_Pwd()
  463. ;    1       PPEPath()
  464. ;
  465. ;------------------------------------------------------------------------------
  466. ;
  467. ; Analysis flags : WcH
  468. ;
  469. ; W - Write user ■ 5
  470. ;     Program writes a user record. Although this may be normal for a
  471. ;     User Editor, it may also be a way to modify an account level.
  472. ;     ■ Search for : PUTUSER
  473. ;
  474. ; c - Change password ■ 3
  475. ;     Program directly changes a user's password. This may be ok for
  476. ;     a password history manager, but it is very suspect. Check!
  477. ;     ■ Search for : NEWPWD
  478. ;
  479. ; H - Read Password or Password History ■ 5
  480. ;     Program is reading the user's password or last password history
  481. ;     This may be ok for a password manager, but it is very suspect. Check!
  482. ;     ■ Search for : U_PWDHIST, U_PWD
  483. ;
  484. ;------------------------------------------------------------------------------
  485. ;
  486. ; Postprocessing report
  487. ;
  488. ;    0       For/Next
  489. ;    0       While/EndWhile
  490. ;    8       If/Then or If/Then/Else
  491. ;    14      Select Case
  492. ;
  493. ;------------------------------------------------------------------------------
  494. ;                 AEGiS Corp - Break the routines, code against the machines!
  495. ;------------------------------------------------------------------------------
  496.