home *** CD-ROM | disk | FTP | other *** search
/ The Equalizer BBS / equalizer-bbs-collection_2004.zip / equalizer-bbs-collection / BBS-PCBOARD-STUFF / BCNUK080.ZIP / FLAG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-12-21  |  4KB  |  356 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.     String   STRING001
  22.     String   STRING002
  23.     String   STRING003
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     String   STRING007
  28.     String   STRING008
  29.     String   STRING009
  30.     String   TSTRING010(23)
  31.     String   STRING011
  32.     String   STRING012
  33.     Byte     BYTE001
  34.     Byte     BYTE002
  35.     Byte     BYTE003
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     STRING001 = PPEPath() + "flagnuke.cfg"
  40.     If (Exist(STRING001)) Goto LABEL001
  41.     FreshLine
  42.     PrintLn "Error: Flag.ppe is setup to use NUKE.PPE but cannot"
  43.     PrintLn "find FLAGNUKE.CFG, please contact sysop"
  44.     End
  45.     :LABEL001
  46.     STRING002 = ReadLine(STRING001, 1) + "\work\bcnk" + String(CurConf()) + "." + String(PcbNode())
  47.     If (AnsiOn()) Goto LABEL002
  48.     DispFile PPEPath() + "FLAGOLD", 4
  49.     End
  50.     :LABEL002
  51.     STRING006 = Chr(8)
  52.     STRING007 = Chr(127)
  53.     STRING008 = Chr(13)
  54.     STRING009 = Chr(27)
  55.     BYTE001 = 0
  56.     STRING004 = ""
  57.     RestScrn
  58.     ClrEol
  59.     Gosub LABEL013
  60.     Gosub LABEL017
  61.     :LABEL003
  62.     If (BOOLEAN001) Goto LABEL010
  63.     STRING005 = Inkey()
  64.     If (STRING005 <> "") Then
  65.         If ((BYTE001 == 0) && (STRING005 == " ")) Then
  66.             BYTE002 = GetY()
  67.             BYTE003 = 0
  68.             Print STRING008
  69.             ClrEol
  70.             Print STRING009 + "[s"
  71.             DispFile PPEPath() + "FLAGBAR", 1 + 4
  72.             Print STRING008
  73.             Gosub LABEL014
  74.             If (STRING011 <> "") Then
  75.                 While ((((STRING005 <> STRING009) && (STRING005 <> STRING008)) && (Upper(STRING005) <> "V")) && (Upper(STRING005) <> "N")) Do
  76.                     STRING005 = Inkey()
  77.                     If (STRING005 == " ") Then
  78.                         Gosub LABEL016
  79.                         Gosub LABEL014
  80.                         If (STRING011 == "") Then
  81.                             Gosub LABEL012
  82.                             Gosub LABEL013
  83.                             Goto LABEL009
  84.                         Endif
  85.                     Endif
  86.                 EndWhile
  87.                 Gosub LABEL016
  88.                 Gosub LABEL012
  89.                 If (STRING005 == STRING008) Then
  90.                     KbdStuff "F " + STRING011 + STRING008
  91.                     End
  92.                     Goto LABEL005
  93.                 Endif
  94.                 If (Upper(STRING005) == "V") Then
  95.                     SaveScrn
  96.                     KbdStuff "V " + STRING011 + STRING008
  97.                     End
  98.                     Goto LABEL005
  99.                 Endif
  100.                 If (Upper(STRING005) == "N") Then
  101.                     SaveScrn
  102.                     FClose -1
  103.                     If (Upper(ReadLine(STRING002, 1)) <> U_Name()) Then
  104.                         Delete STRING002
  105.                         FAppend 1, STRING002, 1, 0
  106.                         FPutLn 1, U_Name()
  107.                         Goto LABEL004
  108.                     Endif
  109.                     FAppend 1, STRING002, 1, 0
  110.                     :LABEL004
  111.                     STRING003 = String(PCBMac("@DIRNUM@"))
  112.                     If (STRING003 == "") Then
  113.                         STRING003 = String(PCBMac("@NUMDIR@"))
  114.                     Endif
  115.                     If (STRING011 <> "") FPutLn 1, STRING011 + " " + STRING003
  116.                     FClose 1
  117.                     PrintLn "@X0CFile targetted for nuking...."
  118.                     Delay 20
  119.                     RestScrn
  120.                 Endif
  121.                 :LABEL005
  122.                 Goto LABEL006
  123.             Endif
  124.             Gosub LABEL012
  125.             :LABEL006
  126.             Gosub LABEL013
  127.             Goto LABEL009
  128.             Goto LABEL008
  129.         Endif
  130.         If ((STRING005 == STRING006) || (STRING005 == STRING007)) Then
  131.             If (BYTE001 > 0) Then
  132.                 Print STRING006 + " "
  133.                 BYTE001 = BYTE001 - 1
  134.                 STRING004 = Left(STRING004, BYTE001)
  135.                 Goto LABEL007
  136.             Endif
  137.             Goto LABEL009
  138.             :LABEL007
  139.             Goto LABEL008
  140.         Endif
  141.         If (STRING005 == STRING008) Then
  142.             BOOLEAN001 = 1
  143.             Goto LABEL008
  144.         Endif
  145.         If ((Len(STRING005) > 1) || (STRING005 < " ")) Then
  146.             Goto LABEL009
  147.             Goto LABEL008
  148.         Endif
  149.         If ((BYTE001 == 0) && ((STRING005 == "?") || (Upper(STRING005) == "H"))) Then
  150.             SaveScrn
  151.             Newline
  152.             DispFile PPEPath() + "FLAGHLP", 1 + 4
  153.             Newline
  154.             Wait
  155.             RestScrn
  156.             Goto LABEL009
  157.             Goto LABEL008
  158.         Endif
  159.         If ((STRING005 >= " ") && (BYTE001 < 80)) Then
  160.             STRING004 = STRING004 + STRING005
  161.             BYTE001 = BYTE001 + 1
  162.         Endif
  163.         :LABEL008
  164.         Print STRING005
  165.     Endif
  166.     :LABEL009
  167.     Goto LABEL003
  168.     :LABEL010
  169.     STRING004 = RTrim(STRING004, " ")
  170.     If (Upper(Left(STRING004, 1)) == "V") Then
  171.         If (Len(STRING004) == 1) Then
  172.             ClrEol
  173.             STRING011 = ""
  174.             PromptStr 240, STRING011, 12, Mask_File(), 2
  175.             STRING011 = RTrim(STRING011, " ")
  176.             If (Len(STRING011) == 0) Then
  177.                 ClrEol
  178.                 KbdStuff STRING008
  179.                 End
  180.             Endif
  181.             Newline
  182.             STRING004 = "V " + STRING011
  183.             SaveScrn
  184.             Goto LABEL011
  185.         Endif
  186.         If (Len(STRING004) >= 3) Then
  187.             ClrEol
  188.             SaveScrn
  189.             Goto LABEL011
  190.         Endif
  191.         KbdStuff STRING008
  192.         End
  193.     Endif
  194.     :LABEL011
  195.     KbdStuff STRING004 + STRING008
  196.     End
  197.     :LABEL012
  198.     Print STRING009 + "[u"
  199.     ClrEol
  200.     Return
  201.     :LABEL013
  202.     DispFile PPEPath() + "FLAGNEW", 4
  203.     DefColor
  204.     Return
  205.     :LABEL014
  206.     If (BOOLEAN002) Then
  207.         BYTE003 = 0
  208.         STRING005 = ""
  209.         While (BYTE003 == 0) Do
  210.             STRING005 = Inkey()
  211.             BYTE003 = Asc(STRING005)
  212.             If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
  213.                 BYTE003 = BYTE003 - 128
  214.                 If (TSTRING010(BYTE003) <> "") Then
  215.                     Gosub LABEL015
  216.                     STRING011 = TSTRING010(BYTE003)
  217.                     Return
  218.                     Continue
  219.                 Endif
  220.                 BYTE003 = 0
  221.             Endif
  222.         EndWhile
  223.     Else
  224.         While (BYTE003 < BYTE002) Do
  225.             BYTE003 = BYTE003 + 1
  226.             If (TSTRING010(BYTE003) <> "") Then
  227.                 Gosub LABEL015
  228.                 STRING011 = TSTRING010(BYTE003)
  229.                 Return
  230.             Endif
  231.         EndWhile
  232.     Endif
  233.     STRING011 = ""
  234.     Return
  235.     :LABEL015
  236.     Print STRING009 + "[u" + STRING009 + "[" + String(BYTE002 - BYTE003) + "A"
  237.     STRING012 = ScrText(1, BYTE003, 13, 1)
  238.     Color 112
  239.     Print TSTRING010(BYTE003) + STRING008
  240.     Return
  241.     :LABEL016
  242.     Print STRING012 + STRING008
  243.     Return
  244.     :LABEL017
  245.     If (GrafMode() == "R") Then
  246.         BOOLEAN002 = 1
  247.     Endif
  248.     BYTE003 = 1
  249.     While (BYTE003 > 0) Do
  250.         ScrFile BYTE003, STRING011
  251.         If (BYTE003 <> 0) Then
  252.             TSTRING010(BYTE003) = STRING011
  253.             If (BOOLEAN002) Then
  254.                 MouseReg 0, 1, BYTE003, 13, BYTE003 + 1, 8, 8, 1, 0, " " + Chr(BYTE003 + 128)
  255.             Endif
  256.             Inc BYTE003
  257.         Endif
  258.     EndWhile
  259.     If (BOOLEAN002) Then
  260.         MPrint "!|#|#|#" + STRING008 + Chr(10)
  261.     Endif
  262.     Return
  263.  
  264. ;------------------------------------------------------------------------------
  265. ;
  266. ; Usage report (before postprocessing)
  267. ;
  268. ; ■ Statements used :
  269. ;
  270. ;    7       End
  271. ;    6       ClrEol
  272. ;    1       Wait
  273. ;    1       Color 
  274. ;    59      Goto 
  275. ;    37      Let 
  276. ;    9       Print 
  277. ;    3       PrintLn 
  278. ;    36      If 
  279. ;    4       DispFile 
  280. ;    2       FAppend 
  281. ;    2       FClose 
  282. ;    2       FPutLn 
  283. ;    1       DefColor
  284. ;    1       Delete 
  285. ;    13      Gosub 
  286. ;    8       Return
  287. ;    1       PromptStr 
  288. ;    1       Delay 
  289. ;    1       Inc 
  290. ;    3       Newline
  291. ;    5       KbdStuff 
  292. ;    1       FreshLine
  293. ;    5       SaveScrn
  294. ;    3       RestScrn
  295. ;    1       MPrint 
  296. ;    1       MouseReg 
  297. ;    1       ScrFile 
  298. ;
  299. ;
  300. ; ■ Functions used :
  301. ;
  302. ;    1       -
  303. ;    37      +
  304. ;    3       -
  305. ;    19      ==
  306. ;    11      <>
  307. ;    3       <
  308. ;    1       <=
  309. ;    3       >
  310. ;    3       >=
  311. ;    35      !
  312. ;    7       &&
  313. ;    3       ||
  314. ;    4       Len(
  315. ;    7       Upper()
  316. ;    2       Left()
  317. ;    6       Chr()
  318. ;    1       Asc()
  319. ;    2       RTrim()
  320. ;    2       U_Name()
  321. ;    3       Inkey()
  322. ;    5       String()
  323. ;    1       Mask_File()
  324. ;    1       CurConf()
  325. ;    5       PPEPath()
  326. ;    1       PcbNode()
  327. ;    2       ReadLine()
  328. ;    1       Exist()
  329. ;    1       AnsiOn()
  330. ;    1       GetY()
  331. ;    1       GrafMode()
  332. ;    1       ScrText()
  333. ;    2       PCBMac()
  334. ;
  335. ;------------------------------------------------------------------------------
  336. ;
  337. ; Analysis flags : M
  338. ;
  339. ; M - Send text to modem only ■ 4
  340. ;     Some informations are sent only to the modem, not to the local
  341. ;     screen, this is a well known way to make stealth backdoors, Check!
  342. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  343. ;
  344. ;------------------------------------------------------------------------------
  345. ;
  346. ; Postprocessing report
  347. ;
  348. ;    0       For/Next
  349. ;    4       While/EndWhile
  350. ;    28      If/Then or If/Then/Else
  351. ;    0       Select Case
  352. ;
  353. ;------------------------------------------------------------------------------
  354. ;                 AEGiS Corp - Break the routines, code against the machines!
  355. ;------------------------------------------------------------------------------
  356.