home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / S / STP_CHNG.ZIP / CHANGE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-03-25  |  7KB  |  513 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.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     String   STRING006
  26.     String   STRING007
  27.     String   STRING008
  28.     String   STRING009
  29.     String   STRING010
  30.     String   STRING011
  31.     String   STRING012
  32.     String   STRING013
  33.     String   STRING014
  34.     String   STRING015
  35.     String   STRING016
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     Cls
  40.     DispFile PPEPath() + "CHANGE.ANS", 0
  41.     GetUser
  42.     AnsiPos 37, 9
  43.     Print "@X07@USER@"
  44.     AnsiPos 37, 10
  45.     Print "@X07" + U_Sec
  46.     AnsiPos 37, 13
  47.     Print "@X08■■■■■■■■■■■■■■■"
  48.     AnsiPos 37, 12
  49.     Print "@X07" + U_City
  50.     AnsiPos 37, 14
  51.     Print "@X07" + U_BDPhone
  52.     AnsiPos 37, 15
  53.     Print "@X07" + U_HVPhone
  54.     :LABEL001
  55.     Print "@X07"
  56.     STRING011 = ""
  57.     STRING010 = ""
  58.     INTEGER003 = ""
  59.     STRING007 = ""
  60.     STRING008 = ""
  61.     AnsiPos 13, 17
  62.     :LABEL002
  63.     If (0) Goto LABEL003
  64.     STRING009 = Inkey()
  65.     STRING009 = Lower(STRING009)
  66.     If (STRING009 == "1") Goto LABEL005
  67.     If (STRING009 == "2") Goto LABEL009
  68.     If (STRING009 == "3") Goto LABEL004
  69.     If (STRING009 == "4") Goto LABEL007
  70.     If (STRING009 == "5") Goto LABEL016
  71.     If (STRING009 == "6") Goto LABEL018
  72.     If (STRING009 == "q") Goto LABEL021
  73.     If (STRING009 == "Q") Goto LABEL021
  74.     Goto LABEL002
  75.     :LABEL003
  76.     End
  77.     :LABEL004
  78.     INTEGER001 = "37"
  79.     INTEGER002 = "12"
  80.     STRING011 = U_City
  81.     INTEGER004 = 24
  82.     STRING006 = ""
  83.     INTEGER003 = Len(STRING011)
  84.     AnsiPos INTEGER001, INTEGER002
  85.     Print Space(INTEGER003 + 1)
  86.     AnsiPos INTEGER001, INTEGER002
  87.     InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii(), 8 + 4096
  88.     If (STRING006 == "") Then
  89.         AnsiPos 37, 12
  90.         Print "                                  "
  91.         AnsiPos 37, 12
  92.         Print U_City
  93.         Goto LABEL008
  94.         If (((Upper(U_PwdHist(1)) == Upper(STRING006)) || (Upper(U_PwdHist(2)) == Upper(STRING006))) || (Upper(U_PwdHist(3)) == Upper(STRING006))) Then
  95.             AnsiPos 37, 13
  96.             Print "@X0CCannot Use Previous Password"
  97.             Delay 20
  98.             AnsiPos 37, 13
  99.             Print "@X08■■■■■■■■■■■■■■■"
  100.             Goto LABEL001
  101.         Endif
  102.         :LABEL005
  103.         AnsiPos 37, 9
  104.         Print "                                "
  105.         AnsiPos 37, 9
  106.         Print "@X0CFUNCTION DISABLED!@X00"
  107.         Delay 25
  108.         AnsiPos 37, 9
  109.         Print "                                "
  110.         AnsiPos 37, 9
  111.         Print "@X07@USER@@X00"
  112.         Goto LABEL001
  113.         U_Pwd = STRING006
  114.         Goto LABEL001
  115.         :LABEL006
  116.         Cls
  117.         STRING006 = ""
  118.         STRING007 = ""
  119.         STRING008 = ""
  120.         If (STRING012 == "PORT1F") Then
  121.             STRING012 = "COM1:"
  122.         Endif
  123.         If (STRING012 == "PORT2F") Then
  124.             STRING012 = "COM2:"
  125.         Endif
  126.         If (STRING012 == "PORT3F") Then
  127.             STRING012 = "COM3:"
  128.         Endif
  129.         If (STRING012 == "PORT4F") Then
  130.             STRING012 = "COM4:"
  131.         Endif
  132.         InputStr "_", STRING007, 14, 127, Mask_Ascii(), 8 + 4096
  133.         STRING008 = STRING012 + " /T:500 /B:MZ /V:D /C:DOS"
  134.         Shell 0, STRING006, STRING007, STRING008
  135.         End
  136.         :LABEL007
  137.         INTEGER001 = "37"
  138.         INTEGER002 = "13"
  139.         STRING011 = U_Pwd
  140.         INTEGER004 = 14
  141.         INTEGER003 = Len(STRING011)
  142.         AnsiPos INTEGER001, INTEGER002
  143.         Print U_Pwd + "                     "
  144.         AnsiPos INTEGER001, INTEGER002
  145.         STRING006 = ""
  146.         InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii(), 8 + 4096
  147.         If (STRING006 == "U_FSEP") Goto LABEL006
  148.         U_Pwd = STRING006
  149.         AnsiPos 37, 13
  150.         Print "@X08■■■■■■■■■■■■■■■"
  151.         Goto LABEL001
  152.     Endif
  153.     U_City = STRING006
  154.     :LABEL008
  155.     Goto LABEL001
  156.     :LABEL009
  157.     AnsiPos 37, 10
  158.     Print "                               "
  159.     AnsiPos 37, 10
  160.     Print "@X0CFUNCTION DISABLED!@X00"
  161.     Delay 30
  162.     AnsiPos 37, 10
  163.     Print "                               "
  164.     AnsiPos 37, 10
  165.     Print "@X07@SECURITY@@X00"
  166.     Goto LABEL001
  167.     BOOLEAN007 = 0
  168.     STRING012 = ""
  169.     STRING013 = ""
  170.     STRING014 = ""
  171.     INTEGER001 = "18"
  172.     INTEGER002 = "6"
  173.     STRING011 = U_BDPhone
  174.     INTEGER004 = 12
  175.     INTEGER003 = Len(STRING011)
  176.     AnsiPos INTEGER001, INTEGER002
  177.     Print Space(INTEGER003 + 1)
  178.     AnsiPos INTEGER001, INTEGER002
  179.     Print "("
  180.     :LABEL010
  181.     If (BOOLEAN007) Goto LABEL011
  182.     STRING015 = Inkey()
  183.     If ((STRING015 == Chr(8)) && (Len(STRING012) > 0)) Then
  184.         INTEGER001 = GetX()
  185.         INTEGER002 = GetY()
  186.         INTEGER001 = INTEGER001 - 1
  187.         AnsiPos INTEGER001, INTEGER002
  188.         Print Space(1)
  189.         AnsiPos INTEGER001, INTEGER002
  190.         STRING012 = Mid(STRING012, 1, Len(STRING012) - 1)
  191.     Endif
  192.     If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
  193.         STRING012 = STRING012 + STRING015
  194.         Print STRING015
  195.     Endif
  196.     If (Len(STRING012) == 3) Goto LABEL011
  197.     Goto LABEL010
  198.     :LABEL011
  199.     Print ")"
  200.     BOOLEAN007 = 0
  201.     STRING015 = ""
  202.     If (BOOLEAN007) Goto LABEL012
  203.     STRING015 = Inkey()
  204.     If ((STRING015 == Chr(8)) && (Len(STRING013) > 0)) Then
  205.         INTEGER001 = GetX()
  206.         INTEGER002 = GetY()
  207.         INTEGER001 = INTEGER001 - 1
  208.         AnsiPos INTEGER001, INTEGER002
  209.         Print Space(1)
  210.         AnsiPos INTEGER001, INTEGER002
  211.         STRING013 = Mid(STRING013, 1, Len(STRING013) - 1)
  212.     Endif
  213.     If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
  214.         STRING013 = STRING013 + STRING015
  215.         Print STRING015
  216.     Endif
  217.     If (Len(STRING013) == 3) Goto LABEL012
  218.     Goto LABEL004
  219.     :LABEL012
  220.     Print "-"
  221.     BOOLEAN007 = 0
  222.     STRING015 = ""
  223.     :LABEL013
  224.     If (BOOLEAN007) Goto LABEL014
  225.     STRING015 = Inkey()
  226.     If (!((STRING015 == Chr(8)) && (Len(STRING014) > 0))) Goto LABEL007
  227.     INTEGER001 = GetX()
  228.     INTEGER002 = GetY()
  229.     INTEGER001 = INTEGER001 - 1
  230.     AnsiPos INTEGER001, INTEGER002
  231.     Print Space(1)
  232.     AnsiPos INTEGER001, INTEGER002
  233.     STRING014 = Mid(STRING014, 1, Len(STRING014) - 1)
  234.     If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
  235.         STRING014 = STRING014 + STRING015
  236.         Print STRING015
  237.     Endif
  238.     If (Len(STRING014) == 4) Goto LABEL014
  239.     Goto LABEL013
  240.     :LABEL014
  241.     BOOLEAN007 = 0
  242.     STRING015 = ""
  243.     U_BDPhone = "(" + STRING012 + ")" + STRING013 + "-" + STRING014
  244.     Goto LABEL001
  245.     BOOLEAN007 = 0
  246.     STRING012 = ""
  247.     STRING013 = ""
  248.     STRING014 = ""
  249.     INTEGER001 = "18"
  250.     INTEGER002 = "7"
  251.     STRING011 = U_HVPhone
  252.     INTEGER004 = 12
  253.     INTEGER003 = Len(STRING011)
  254.     AnsiPos INTEGER001, INTEGER002
  255.     Print Space(INTEGER003 + 1)
  256.     AnsiPos INTEGER001, INTEGER002
  257.     Print "("
  258.     :LABEL015
  259.     If (BOOLEAN007) Goto LABEL017
  260.     STRING015 = Inkey()
  261.     If ((STRING015 == Chr(8)) && (Len(STRING012) > 0)) Then
  262.         INTEGER001 = GetX()
  263.         INTEGER002 = GetY()
  264.         INTEGER001 = INTEGER001 - 1
  265.         AnsiPos INTEGER001, INTEGER002
  266.         Print Space(1)
  267.         AnsiPos INTEGER001, INTEGER002
  268.         STRING012 = Mid(STRING012, 1, Len(STRING012) - 1)
  269.     Endif
  270.     :LABEL016
  271.     AnsiPos 37, 14
  272.     Print "                                "
  273.     AnsiPos 37, 14
  274.     Print "@X0CFUNCTION DISABLED!@X00"
  275.     Delay 25
  276.     AnsiPos 37, 14
  277.     Print "                                @X07"
  278.     AnsiPos 37, 14
  279.     Print "@DATAPHONE@" + "@X07"
  280.     Goto LABEL001
  281.     If (Len(STRING012) == 3) Goto LABEL017
  282.     Goto LABEL015
  283.     :LABEL017
  284.     Print ")"
  285.     BOOLEAN007 = 0
  286.     STRING015 = ""
  287.     If (BOOLEAN007) Goto LABEL019
  288.     STRING015 = Inkey()
  289.     If ((STRING015 == Chr(8)) && (Len(STRING013) > 0)) Then
  290.         INTEGER001 = GetX()
  291.         INTEGER002 = GetY()
  292.         INTEGER001 = INTEGER001 - 1
  293.         AnsiPos INTEGER001, INTEGER002
  294.         Print Space(1)
  295.         AnsiPos INTEGER001, INTEGER002
  296.         STRING013 = Mid(STRING013, 1, Len(STRING013) - 1)
  297.     Endif
  298.     If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
  299.         STRING013 = STRING013 + STRING015
  300.         Print STRING015
  301.     Endif
  302.     :LABEL018
  303.     AnsiPos 37, 15
  304.     Print "                                "
  305.     AnsiPos 37, 15
  306.     Print "@X0CFUNCTION DISABLED!@X00"
  307.     Delay 25
  308.     AnsiPos 37, 15
  309.     Print "                                @X07"
  310.     AnsiPos 37, 15
  311.     Print "@HOMEPHONE@" + "@X07"
  312.     Goto LABEL001
  313.     :LABEL019
  314.     Print "-"
  315.     BOOLEAN007 = 0
  316.     STRING015 = ""
  317.     :LABEL020
  318.     If (BOOLEAN007) Goto LABEL021
  319.     STRING015 = Inkey()
  320.     If ((STRING015 == Chr(8)) && (Len(STRING014) > 0)) Then
  321.         INTEGER001 = GetX()
  322.         INTEGER002 = GetY()
  323.         INTEGER001 = INTEGER001 - 1
  324.         AnsiPos INTEGER001, INTEGER002
  325.         Print Space(1)
  326.         AnsiPos INTEGER001, INTEGER002
  327.         STRING014 = Mid(STRING014, 1, Len(STRING014) - 1)
  328.     Endif
  329.     If ((STRING015 <> "") && (STRING015 <> Chr(8))) Then
  330.         STRING014 = STRING014 + STRING015
  331.         Print STRING015
  332.     Endif
  333.     If (Len(STRING014) == 4) Goto LABEL021
  334.     Goto LABEL020
  335.     BOOLEAN007 = 0
  336.     STRING015 = ""
  337.     U_HVPhone = "(" + STRING012 + ")" + STRING013 + "-" + STRING014
  338.     Goto LABEL001
  339.     INTEGER001 = "18"
  340.     INTEGER002 = "8"
  341.     STRING011 = U_Ver
  342.     INTEGER004 = 20
  343.     STRING006 = ""
  344.     INTEGER003 = Len(STRING011)
  345.     AnsiPos INTEGER001, INTEGER002
  346.     Print Space(INTEGER003 + 1)
  347.     AnsiPos INTEGER001, INTEGER002
  348.     InputStr "_", STRING006, 14, INTEGER004, Mask_Ascii() + Mask_Num(), 8
  349.     If (STRING006 == "") Then
  350.         AnsiPos 18, 8
  351.         Print U_Ver
  352.     Else
  353.         U_Ver = STRING006
  354.     Endif
  355.     Goto LABEL001
  356.     If (U_Cls == "0") STRING007 = "1"
  357.     If (U_Cls == "1") STRING007 = "0"
  358.     If (STRING007 == "0") STRING008 = "NO!"
  359.     If (STRING007 == "1") STRING008 = "YEP"
  360.     AnsiPos 71, 2
  361.     Print STRING008
  362.     U_Cls = STRING007
  363.     Goto LABEL001
  364.     If (U_Scroll == "0") STRING007 = "1"
  365.     If (U_Scroll == "1") STRING007 = "0"
  366.     If (STRING007 == "0") STRING008 = "NO!"
  367.     If (STRING007 == "1") STRING008 = "YEP"
  368.     AnsiPos 71, 3
  369.     Print STRING008
  370.     U_Scroll = STRING007
  371.     Goto LABEL001
  372.     If (U_LongHDR == "0") STRING007 = "1"
  373.     If (U_LongHDR == "1") STRING007 = "0"
  374.     If (STRING007 == "0") STRING008 = "NO!"
  375.     If (STRING007 == "1") STRING008 = "YEP"
  376.     AnsiPos 71, 4
  377.     Print STRING008
  378.     U_LongHDR = STRING007
  379.     Goto LABEL001
  380.     If (U_FSE == "0") STRING007 = "1"
  381.     If (U_FSE == "1") STRING007 = "0"
  382.     If (STRING007 == "0") STRING008 = "NO!"
  383.     If (STRING007 == "1") STRING008 = "YEP"
  384.     AnsiPos 71, 5
  385.     Print STRING008
  386.     U_FSE = STRING007
  387.     Goto LABEL001
  388.     If (U_Def79 == "0") STRING007 = "1"
  389.     If (U_Def79 == "1") STRING007 = "0"
  390.     If (STRING007 == "0") STRING008 = "NO!"
  391.     If (STRING007 == "1") STRING008 = "YEP"
  392.     AnsiPos 71, 6
  393.     Print STRING008
  394.     U_Def79 = STRING007
  395.     Goto LABEL001
  396.     If (U_Expert == "0") STRING007 = "1"
  397.     If (U_Expert == "1") STRING007 = "0"
  398.     If (STRING007 == "0") STRING008 = "NO!"
  399.     If (STRING007 == "1") STRING008 = "YEP"
  400.     AnsiPos 71, 7
  401.     Print STRING008
  402.     U_Expert = STRING007
  403.     Goto LABEL001
  404.     If (STRING007 == "0") STRING008 = "NO!"
  405.     If (STRING007 == "1") STRING008 = "YEP"
  406.     Return
  407.     :LABEL021
  408.     Cls
  409.     STRING016 = "%uSeR-SeTTiNGz% bY HuTZoN oF SToNe TeMPLe PiRaTeZ <STP%95>"
  410.     INTEGER005 = 0
  411.     :LABEL022
  412.     If (INTEGER005 == 50) Goto LABEL023
  413.     INTEGER005 = INTEGER005 + 1
  414.     AnsiPos INTEGER005, 1
  415.     Print "@X09-"
  416.     Delay 1
  417.     Color 8
  418.     Print Chr(8)
  419.     Print Mid(STRING016, INTEGER005, 1)
  420.     Goto LABEL022
  421.     :LABEL023
  422.     FClose 2
  423.     Newline
  424.     DispText 273, 256
  425.     PutUser
  426.     Newline
  427.     Wait
  428.     End
  429.  
  430. ;------------------------------------------------------------------------------
  431. ;
  432. ; Usage report (before postprocessing)
  433. ;
  434. ; ■ Statements used :
  435. ;
  436. ;    3       End
  437. ;    3       Cls
  438. ;    1       Wait
  439. ;    1       Color 
  440. ;    66      Goto 
  441. ;    139     Let 
  442. ;    60      Print 
  443. ;    66      If 
  444. ;    1       DispFile 
  445. ;    1       FClose 
  446. ;    1       GetUser
  447. ;    1       PutUser
  448. ;    4       InputStr 
  449. ;    1       Return
  450. ;    6       Delay 
  451. ;    2       Newline
  452. ;    1       Shell 
  453. ;    1       DispText 
  454. ;    58      AnsiPos 
  455. ;
  456. ;
  457. ; ■ Functions used :
  458. ;
  459. ;    33      +
  460. ;    12      -
  461. ;    56      ==
  462. ;    10      <>
  463. ;    6       >
  464. ;    26      !
  465. ;    11      &&
  466. ;    2       ||
  467. ;    22      Len(
  468. ;    1       Lower()
  469. ;    6       Upper()
  470. ;    7       Mid()
  471. ;    10      Space()
  472. ;    12      Chr()
  473. ;    7       Inkey()
  474. ;    1       Mask_Num()
  475. ;    4       Mask_Ascii()
  476. ;    1       PPEPath()
  477. ;    6       GetX()
  478. ;    6       GetY()
  479. ;    3       U_PwdHist()
  480. ;
  481. ;------------------------------------------------------------------------------
  482. ;
  483. ; Analysis flags : WSH
  484. ;
  485. ; W - Write user ■ 5
  486. ;     Program writes a user record. Although this may be normal for a
  487. ;     User Editor, it may also be a way to modify an account level.
  488. ;     ■ Search for : PUTUSER
  489. ;
  490. ; S - Shell to DOS ■ 5
  491. ;     This may be normal if the PPE need to execute an external command,
  492. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  493. ;     or usefull (sorting, maintenance,...). Check!
  494. ;     ■ Search for : SHELL
  495. ;
  496. ; H - Read Password or Password History ■ 5
  497. ;     Program is reading the user's password or last password history
  498. ;     This may be ok for a password manager, but it is very suspect. Check!
  499. ;     ■ Search for : U_PWDHIST, U_PWD
  500. ;
  501. ;------------------------------------------------------------------------------
  502. ;
  503. ; Postprocessing report
  504. ;
  505. ;    0       For/Next
  506. ;    0       While/EndWhile
  507. ;    17      If/Then or If/Then/Else
  508. ;    0       Select Case
  509. ;
  510. ;------------------------------------------------------------------------------
  511. ;                 AEGiS Corp - Break the routines, code against the machines!
  512. ;------------------------------------------------------------------------------
  513.