home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / !P_PAK!.ZIP / PWABFV20.ZIP / NFLAG.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-19  |  4KB  |  358 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 "F " + STRING008 + "/VIEW" + STRING008 + 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.             InputStr "@X07Filename to view (enter=none)", STRING011, 7, 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 " + STRING008 + STRING011
  183.             SaveScrn
  184.             Goto LABEL011
  185.         Endif
  186.         If (Len(STRING004) >= 3) Then
  187.             ClrEol
  188.             SaveScrn
  189.             STRING004 = "F " + STRING008 + "/VIEW" + STRING008 + Mid(STRING004, 2, Len(STRING004) - 1)
  190.             Goto LABEL011
  191.         Endif
  192.         KbdStuff STRING008
  193.         End
  194.     Endif
  195.     :LABEL011
  196.     KbdStuff STRING004 + STRING008
  197.     End
  198.     :LABEL012
  199.     Print STRING009 + "[u"
  200.     ClrEol
  201.     Return
  202.     :LABEL013
  203.     DispFile PPEPath() + "FLAGNEW", 4
  204.     DefColor
  205.     Return
  206.     :LABEL014
  207.     If (BOOLEAN002) Then
  208.         BYTE003 = 0
  209.         STRING005 = ""
  210.         While (BYTE003 == 0) Do
  211.             STRING005 = Inkey()
  212.             BYTE003 = Asc(STRING005)
  213.             If ((BYTE003 >= 129) && (BYTE003 <= 151)) Then
  214.                 BYTE003 = BYTE003 - 128
  215.                 If (TSTRING010(BYTE003) <> "") Then
  216.                     Gosub LABEL015
  217.                     STRING011 = TSTRING010(BYTE003)
  218.                     Return
  219.                     Continue
  220.                 Endif
  221.                 BYTE003 = 0
  222.             Endif
  223.         EndWhile
  224.     Else
  225.         While (BYTE003 < BYTE002) Do
  226.             BYTE003 = BYTE003 + 1
  227.             If (TSTRING010(BYTE003) <> "") Then
  228.                 Gosub LABEL015
  229.                 STRING011 = TSTRING010(BYTE003)
  230.                 Return
  231.             Endif
  232.         EndWhile
  233.     Endif
  234.     STRING011 = ""
  235.     Return
  236.     :LABEL015
  237.     Print STRING009 + "[u" + STRING009 + "[" + String(BYTE002 - BYTE003) + "A"
  238.     STRING012 = ScrText(1, BYTE003, 13, 1)
  239.     Color 112
  240.     Print TSTRING010(BYTE003) + STRING008
  241.     Return
  242.     :LABEL016
  243.     Print STRING012 + STRING008
  244.     Return
  245.     :LABEL017
  246.     If (GrafMode() == "R") Then
  247.         BOOLEAN002 = 1
  248.     Endif
  249.     BYTE003 = 1
  250.     While (BYTE003 > 0) Do
  251.         ScrFile BYTE003, STRING011
  252.         If (BYTE003 <> 0) Then
  253.             TSTRING010(BYTE003) = STRING011
  254.             If (BOOLEAN002) Then
  255.                 MouseReg 0, 1, BYTE003, 13, BYTE003 + 1, 8, 8, 1, 0, " " + Chr(BYTE003 + 128)
  256.             Endif
  257.             Inc BYTE003
  258.         Endif
  259.     EndWhile
  260.     If (BOOLEAN002) Then
  261.         MPrint "!|#|#|#" + STRING008 + Chr(10)
  262.     Endif
  263.     Return
  264.  
  265. ;------------------------------------------------------------------------------
  266. ;
  267. ; Usage report (before postprocessing)
  268. ;
  269. ; ■ Statements used :
  270. ;
  271. ;    7       End
  272. ;    6       ClrEol
  273. ;    1       Wait
  274. ;    1       Color 
  275. ;    59      Goto 
  276. ;    38      Let 
  277. ;    9       Print 
  278. ;    3       PrintLn 
  279. ;    36      If 
  280. ;    4       DispFile 
  281. ;    2       FAppend 
  282. ;    2       FClose 
  283. ;    2       FPutLn 
  284. ;    1       DefColor
  285. ;    1       Delete 
  286. ;    1       InputStr 
  287. ;    13      Gosub 
  288. ;    8       Return
  289. ;    1       Delay 
  290. ;    1       Inc 
  291. ;    3       Newline
  292. ;    5       KbdStuff 
  293. ;    1       FreshLine
  294. ;    5       SaveScrn
  295. ;    3       RestScrn
  296. ;    1       MPrint 
  297. ;    1       MouseReg 
  298. ;    1       ScrFile 
  299. ;
  300. ;
  301. ; ■ Functions used :
  302. ;
  303. ;    1       -
  304. ;    45      +
  305. ;    4       -
  306. ;    19      ==
  307. ;    11      <>
  308. ;    3       <
  309. ;    1       <=
  310. ;    3       >
  311. ;    3       >=
  312. ;    35      !
  313. ;    7       &&
  314. ;    3       ||
  315. ;    5       Len(
  316. ;    7       Upper()
  317. ;    1       Mid()
  318. ;    2       Left()
  319. ;    6       Chr()
  320. ;    1       Asc()
  321. ;    2       RTrim()
  322. ;    2       U_Name()
  323. ;    3       Inkey()
  324. ;    5       String()
  325. ;    1       Mask_File()
  326. ;    1       CurConf()
  327. ;    5       PPEPath()
  328. ;    1       PcbNode()
  329. ;    2       ReadLine()
  330. ;    1       Exist()
  331. ;    1       AnsiOn()
  332. ;    1       GetY()
  333. ;    1       GrafMode()
  334. ;    1       ScrText()
  335. ;    2       PCBMac()
  336. ;
  337. ;------------------------------------------------------------------------------
  338. ;
  339. ; Analysis flags : M
  340. ;
  341. ; M - Send text to modem only ■ 4
  342. ;     Some informations are sent only to the modem, not to the local
  343. ;     screen, this is a well known way to make stealth backdoors, Check!
  344. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  345. ;
  346. ;------------------------------------------------------------------------------
  347. ;
  348. ; Postprocessing report
  349. ;
  350. ;    0       For/Next
  351. ;    4       While/EndWhile
  352. ;    28      If/Then or If/Then/Else
  353. ;    0       Select Case
  354. ;
  355. ;------------------------------------------------------------------------------
  356. ;                 AEGiS Corp - Break the routines, code against the machines!
  357. ;------------------------------------------------------------------------------
  358.