home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAECS20.ZIP / ECS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-03-26  |  4KB  |  339 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.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     String   STRING001
  24.     String   STRING002
  25.     String   TSTRING003(1)
  26.     String   TSTRING004(1)
  27.     String   TSTRING005(1)
  28.     String   TSTRING006(1)
  29.     String   STRING007
  30.     Int      INT001
  31.     Int      INT002
  32.     Int      INT003
  33.     Int      INT004
  34.     Int      INT005
  35.     Int      INT006
  36.     Int      INT013
  37.     Declare  Procedure PROC001()
  38.     Declare  Procedure PROC002()
  39.     Declare  Procedure PROC003(Int INT020, Int INT021, Int INT022, Var String STRING011, Var Int INT023, Var Int INT024)
  40.     Declare  Procedure PROC004(String STRING010, Int INT017, Int INT018, Int INT019)
  41.     Declare  Procedure PROC005(String STRING009, Int INT015, Int INT016)
  42.     Declare  Procedure PROC006(Int INT014)
  43.     Declare  Procedure PROC007(Int INT007, Var Boolean BOOLEAN003, Var String STRING008, Var Int INT008, Var Int INT009, Int INT010, Int INT011, Int INT012)
  44.     Declare  Procedure PROC008()
  45.     Declare  Procedure PROC009()
  46.  
  47. ;------------------------------------------------------------------------------
  48.  
  49.     PROC001()
  50.     StartDisp 1
  51.     PROC009()
  52.     PROC008()
  53.     ResetDisp
  54.     StartDisp 0
  55.     End
  56.  
  57. ;------------------------------------------------------------------------------
  58.  
  59.     Procedure PROC009()
  60.  
  61.     String   STRING007
  62.     Int      INT001
  63.     Int      INT002
  64.     Int      INT003
  65.     Int      INT004
  66.     Int      INT005
  67.     Int      INT006
  68.     Boolean  BOOLEAN002
  69.  
  70.     PROC002()
  71.     INT003 = 1
  72.     INT004 = TSTRING005(1)
  73.     INT005 = TSTRING006(1)
  74.     AnsiPos INT005, INT004
  75.     PROC003(INT004, INT005, INT003, STRING007, INT001, INT002)
  76.     PROC004(STRING007, INT004, INT005, INT003)
  77.     BOOLEAN002 = 0
  78.     While (BOOLEAN002 == 0) Do
  79.         Delay 1
  80.         INT006 = Asc(Inkey())
  81.         If (INT006 == 13) Then
  82.             PROC006(INT003)
  83.             BOOLEAN002 = 1
  84.             Continue
  85.         Endif
  86.         If ((((INT006 == 85) || (INT006 == 65)) || (INT006 == 97)) || (INT006 == 76)) Then
  87.             PROC005(STRING007, INT001, INT002)
  88.             Dec INT003
  89.             If (INT003 < 1) INT003 = INTEGER001
  90.             INT004 = TSTRING005(INT003)
  91.             INT005 = TSTRING006(INT003)
  92.             PROC003(INT004, INT005, INT003, STRING007, INT001, INT002)
  93.             PROC004(STRING007, INT004, INT005, INT003)
  94.             Continue
  95.         Endif
  96.         If ((((INT006 == 68) || (INT006 == 90)) || (INT006 == 122)) || (INT006 == 82)) Then
  97.             PROC005(STRING007, INT001, INT002)
  98.             Inc INT003
  99.             If (INT003 > INTEGER001) INT003 = 1
  100.             INT004 = TSTRING005(INT003)
  101.             INT005 = TSTRING006(INT003)
  102.             PROC003(INT004, INT005, INT003, STRING007, INT001, INT002)
  103.             PROC004(STRING007, INT004, INT005, INT003)
  104.             Continue
  105.         Endif
  106.         If (((INT006 == 113) || (INT006 == 27)) || (INT006 == 81)) Then
  107.             BOOLEAN002 = 1
  108.             Continue
  109.         Endif
  110.         PROC007(INT006, BOOLEAN002, STRING007, INT001, INT002, INT003, INT004, INT005)
  111.     EndWhile
  112.  
  113.     EndProc
  114.  
  115.  
  116. ;------------------------------------------------------------------------------
  117.  
  118.     Procedure PROC008()
  119.  
  120.     GetUser
  121.     DefColor
  122.     AnsiPos 1, U_PageLen
  123.     PrintLn "@X08ECS v2.0 by Drew [PWA]@X07"
  124.  
  125.     EndProc
  126.  
  127.  
  128. ;------------------------------------------------------------------------------
  129.  
  130.     Procedure PROC007(Int INT007, Var Boolean BOOLEAN003, Var String STRING008, Var Int INT008, Var Int INT009, Int INT010, Int INT011, Int INT012)
  131.  
  132.     Int      INT013
  133.  
  134.     BOOLEAN003 = 0
  135.     INT013 = S2I(Chr(INT007), 10)
  136.     If (INT013 && (INT013 <= INTEGER001)) Then
  137.         PROC005(STRING008, INT008, INT009)
  138.         INT010 = INT013
  139.         INT011 = TSTRING005(INT010)
  140.         INT012 = TSTRING006(INT010)
  141.         PROC003(INT011, INT012, INT010, STRING008, INT008, INT009)
  142.         PROC004(STRING008, INT011, INT012, INT010)
  143.         PROC006(INT010)
  144.         BOOLEAN003 = 1
  145.     Endif
  146.  
  147.     EndProc
  148.  
  149.  
  150. ;------------------------------------------------------------------------------
  151.  
  152.     Procedure PROC006(Int INT014)
  153.  
  154.     KbdStuff "E" + Chr(13) + TSTRING003(INT014) + Chr(13) + STRING002 + Chr(13) + "R" + Chr(13)
  155.  
  156.     EndProc
  157.  
  158.  
  159. ;------------------------------------------------------------------------------
  160.  
  161.     Procedure PROC005(String STRING009, Int INT015, Int INT016)
  162.  
  163.     If (BOOLEAN001 == 1) Then
  164.         AnsiPos INT016 - 1, INT015
  165.         Print STRING009
  166.     Else
  167.         AnsiPos INT016 + INTEGER002, INT015
  168.         Print STRING009
  169.     Endif
  170.  
  171.     EndProc
  172.  
  173.  
  174. ;------------------------------------------------------------------------------
  175.  
  176.     Procedure PROC004(String STRING010, Int INT017, Int INT018, Int INT019)
  177.  
  178.     If (BOOLEAN001 == 1) Then
  179.         AnsiPos INT018 - 1, INT017
  180.         Print STRING001 + StripAtx(STRING010)
  181.         Backup 1
  182.     Else
  183.         AnsiPos INT018 + INTEGER002, INT017
  184.         Print TSTRING004(INT019)
  185.         Backup 1
  186.     Endif
  187.  
  188.     EndProc
  189.  
  190.  
  191. ;------------------------------------------------------------------------------
  192.  
  193.     Procedure PROC003(Int INT020, Int INT021, Int INT022, Var String STRING011, Var Int INT023, Var Int INT024)
  194.  
  195.     INT023 = INT020
  196.     INT024 = INT021
  197.     If (BOOLEAN001 == 1) Then
  198.         STRING011 = ScrText(INT024 - 1, INT023, 3, 1)
  199.     Else
  200.         STRING011 = ScrText(INT024 + INTEGER002, INT023, Len(StripAtx(TSTRING004(INT022))), 1)
  201.     Endif
  202.  
  203.     EndProc
  204.  
  205.  
  206. ;------------------------------------------------------------------------------
  207.  
  208.     Procedure PROC002()
  209.  
  210.     If (Exist(PPEPath() + "ECS.PCB")) Then
  211.         DispFile PPEPath() + "ECS.PCB", 0
  212.     Else
  213.         Cls
  214.         PrintLn "@X0CError!  Missing ECS.PCB - Inform your main sysop!@X07"
  215.         End
  216.     Endif
  217.  
  218.     EndProc
  219.  
  220.  
  221. ;------------------------------------------------------------------------------
  222.  
  223.     Procedure PROC001()
  224.  
  225.     String   STRING012
  226.     String   STRING013
  227.     Int      INT025
  228.  
  229.     STRING012 = PPEPath() + "ECS.CFG"
  230.     If (Exist(STRING012)) Goto LABEL001
  231.     PrintLn "@X0CError!  ECS.CFG not found!@X07"
  232.     End
  233.     :LABEL001
  234.     FOpen 1, STRING012, 0, 2
  235.     FDefIn 1
  236.     FDGet STRING013
  237.     Select Case (Upper(STRING013))
  238.         Case "N"
  239.             BOOLEAN001 = 1
  240.         Case "D"
  241.             BOOLEAN001 = 0
  242.     End Select
  243.     FDGet STRING001
  244.     FDGet STRING013
  245.     INTEGER002 = S2I(STRING013, 10)
  246.     FDGet STRING002
  247.     FDGet STRING013
  248.     INTEGER001 = S2I(STRING013, 10)
  249.     Redim TSTRING003, INTEGER001 + 1
  250.     Redim TSTRING004, INTEGER001 + 1
  251.     Redim TSTRING005, INTEGER001 + 1
  252.     Redim TSTRING006, INTEGER001 + 1
  253.     For INT025 = 1 To INTEGER001
  254.         FDGet STRING013
  255.         Tokenize STRING013
  256.         TSTRING005(INT025) = S2I(GetToken(), 10)
  257.         TSTRING006(INT025) = S2I(GetToken(), 10)
  258.         FDGet TSTRING004(INT025)
  259.         FDGet TSTRING003(INT025)
  260.     Next
  261.     FClose 1
  262.  
  263.     EndProc
  264.  
  265.  
  266. ;------------------------------------------------------------------------------
  267. ;
  268. ; Usage report (before postprocessing)
  269. ;
  270. ; ■ Statements used :
  271. ;
  272. ;    3       End
  273. ;    1       Cls
  274. ;    25      Goto 
  275. ;    32      Let 
  276. ;    4       Print 
  277. ;    3       PrintLn 
  278. ;    16      If 
  279. ;    1       DispFile 
  280. ;    1       FOpen 
  281. ;    1       FClose 
  282. ;    1       ResetDisp
  283. ;    2       StartDisp 
  284. ;    1       GetUser
  285. ;    1       DefColor
  286. ;    1       Delay 
  287. ;    1       Inc 
  288. ;    1       Dec 
  289. ;    1       Tokenize 
  290. ;    1       KbdStuff 
  291. ;    6       AnsiPos 
  292. ;    2       Backup 
  293. ;    1       FDefIn 
  294. ;    8       FDGet 
  295. ;    4       Redim 
  296. ;    9       EndProc
  297. ;
  298. ;
  299. ; ■ Functions used :
  300. ;
  301. ;    19      +
  302. ;    3       -
  303. ;    18      ==
  304. ;    2       <
  305. ;    2       <=
  306. ;    1       >
  307. ;    2       >=
  308. ;    14      !
  309. ;    3       &&
  310. ;    9       ||
  311. ;    1       Len(
  312. ;    2       Upper()
  313. ;    5       Chr()
  314. ;    1       Asc()
  315. ;    2       StripAtx()
  316. ;    1       Inkey()
  317. ;    3       PPEPath()
  318. ;    2       GetToken()
  319. ;    2       Exist()
  320. ;    5       S2I()
  321. ;    2       ScrText()
  322. ;
  323. ;------------------------------------------------------------------------------
  324. ;
  325. ; Analysis flags : No flag
  326. ;
  327. ;------------------------------------------------------------------------------
  328. ;
  329. ; Postprocessing report
  330. ;
  331. ;    1       For/Next
  332. ;    1       While/EndWhile
  333. ;    9       If/Then or If/Then/Else
  334. ;    1       Select Case
  335. ;
  336. ;------------------------------------------------------------------------------
  337. ;                 AEGiS Corp - Break the routines, code against the machines!
  338. ;------------------------------------------------------------------------------
  339.