home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / PPE / PAIN / P__SECUR.ZIP / P!-SECUR.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1995-04-19  |  7.3 KB  |  306 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.     Integer  INTEGER002
  20.     String   STRING001
  21.     String   STRING002
  22.     String   TSTRING003(4)
  23.     String   STRING004
  24.     String   STRING005
  25.     String   STRING006
  26.     String   TSTRING007(3)
  27.     String   STRING008
  28.  
  29. ;------------------------------------------------------------------------------
  30.  
  31.     If (INTEGER002 == 99) Goto LABEL001
  32.     Goto LABEL003
  33.     :LABEL001
  34.     Print "MODiFY iT...iF YOU ARE TOO LAME TO DO SUCH A CHEAP CRAP YOURSELF!"
  35.     :LABEL002
  36.     FOpen 1, PPEPath() + "tmp.msg", 1, 0
  37.     FPutLn 1, "@X0F     ▄@X70▀@X7F▒▓@X0F██████@X7F▓@X0F▄"
  38.     FPutLn 1, "@X0F   @X70▀@X0F█@X7F▓▒ @X70█@X7F▒▓@X0F██@X7F▓▒▒▓@X0F█▄"
  39.     FPutLn 1, "@X0F  @X70 @X0F█@X7F▓▒@X70■@X07 @X7F▓@X0F█▀  ▀@X08▐@X70■@X0F▀ @X70█@X0F▐   @X04■▀▀▀·■▀■·▀▀■▀▀■▀▀▀▀·■▀■▀▀■"
  40.     FPutLn 1, "@X04 @X70 @X0F█@X7F▓▒ @X07 @X7F▒▓@X07  @X04▄  @X07▐@X08▄░@X04▄    ·▌ @X8C! SECURiTY Vi0LATi0N ! @X04▐"
  41.     FPutLn 1, "@X08▐@X70 @X0F█@X7F▓▒░  @X70▐@X07  @X0F▄█@X7F▓▒@X70▀@X07 @X08▀▄@X0F█  @X04▐▌▄    ■▄               ▄■▌"
  42.     FPutLn 1, "@X08▐@X70 @X0F█@X7F▓▒░░  ▓@X0F█▀@X70▀@X7F▓@X0F██@X7F▓▓@X0F██▐ @X04■▐.▀▐▀▀ ■▀▀▐▐■▀▀▐▀▐▀▀▀▀▀"
  43.     FPutLn 1, "@X04 @X08█@X70 @X7F▒ @X07 @X7F▓@X0F█@X7F▓▒▓@X0F█@X7F▓@X0F█▌▀▌▀▌▀▌  @X04.  .       ▐   |·"
  44.     FPutLn 1, "@X04  @X08▀@X70 @X7F░ @X07 @X7F▓@X0F███@X7F▓@X07▀"
  45.     FPutLn 1, "@X07    @X08▀▀▀ @X70▄@X7F▓▓@X07▀"
  46.     FPutLn 1
  47.     FPutLn 1, "@X03USER·····: @X0B" + UN_Name()
  48.     FPutLn 1, "@X03LOCATiON·: @X0B" + UN_City()
  49.     FPutLn 1, "@X03LEVEL····: @X0B" + I2S(CurSec(), 10)
  50.     FPutLn 1
  51.     FPutLn 1, "@X05FAiLED SECURiTY CHECK ON·: @X0D" + STRING001 + "@X05.CFG"
  52.     FPutLn 1, "@X05WHiCH iS TiTLED AS·······: @X0D" + STRING002
  53.     FPutLn 1
  54.     FPutLn 1, "@X07PASSWORD SHOULD HAVE BEEN·: @X0F" + Upper(STRING004)
  55.     FPutLn 1, "@X07FiRST HE TYPED············: @X0C" + TSTRING007(1)
  56.     FPutLn 1, "@X07THEN HE TYPED·············: @X06" + TSTRING007(2)
  57.     FPutLn 1, "@X07HiS LAST TRY WAS··········: @X04" + TSTRING007(3)
  58.     FPutLn 1
  59.     Return
  60.     :LABEL003
  61.     STRING001 = TokenStr()
  62.     If (STRING001 == "") Then
  63.         PrintLn 
  64.         PrintLn "@X0CN0 PARAMETER !"
  65.         Delay 40
  66.         End
  67.     Endif
  68.     If (Exist(PPEPath() + STRING001 + ".cfg")) Goto LABEL004
  69.     PrintLn 
  70.     PrintLn "@X0CFiLE N0T F0UND !"
  71.     Delay 40
  72.     End
  73.     :LABEL004
  74.     PrintLn "@CLS@@POFF@@X0F     ▄@X70▀@X7F▒▓@X0F██████@X7F▓@X0F▄     @X04■▀▀▀·▀▀·■▀·▀▀■·■▀■·▀▀■▀▀■▀▀▀▀·■▀■▀▀■    @X0F▄@X7F▓@X0F██████@X7F▓▒@X70▀@X0F▄"
  75.     PrintLn "@X0F   @X70▀@X0F█@X7F▓▒ @X70█@X7F▒▓@X0F██@X7F▓▒▒▓@X0F█▄  @X04·▌                                  ▐  @X0F▄█@X7F▓▒▒▓@X0F██@X7F▓▒@X70█ @X7F▒▓@X0F█@X70▀@X07"
  76.     PrintLn "@X0F  @X70 @X0F█@X7F▓▒@X70■@X07 @X7F▓@X0F█▀  ▀@X08▐@X70■@X0F▀ @X70█@X0F▐ @X04▐ ▄▄▄■▄▄   ▄▄▄▄▄■▄▄.▄▄▄▄■▄▄▄▄■.▄▄  ▄▐▌@X0F▐@X70█@X07 @X0F▀@X70■@X08▐@X0F▀  ▀█@X7F▓@X07 @X70■@X7F▒▓@X0F█@X70 @X07"
  77.     PrintLn "@X0F @X70 @X0F█@X7F▓▒ @X07 @X7F▒▓@X07  @X04▄  @X07▐@X08▄░@X04▄   ■▌      ▀▀▀                     ▀▀▀ █   ▄@X08░▄@X07▐  @X04▄  @X7F▓▒@X07 @X70 @X7F▒▓@X0F█@X70 @X07"
  78.     PrintLn "@X08▐@X70 @X0F█@X7F▓▒░  @X70▐@X07  @X0F▄█@X7F▓▒@X70▀@X07 @X08▀▄@X0F█  @X04▌                                  ▐·@X0F█@X08▄▀ @X70▀@X7F▒▓@X0F█▄  @X70▐  @X7F░▒▓@X0F█@X70 @X08▌"
  79.     PrintLn "@X08▐@X70 @X0F█@X7F▓▒░░  ▓@X0F█▀@X70▀@X7F▓@X0F██@X7F▓▓@X0F██▐ @X04■                                  ■@X0F▐██@X7F▓▓@X0F██@X7F▓@X70▀@X0F▀█@X7F▓  ░░▒▓@X0F█@X70 @X08▌"
  80.     PrintLn "@X08 █@X70 @X7F▒ @X07 @X7F▓@X0F█@X7F▓▒▓@X0F█@X7F▓@X0F█▌▀▌▀▌▀▌ @X04·                                  ■@X0F▌▀▌▀▌▀▌█@X7F▓@X0F█@X7F▓▒▓@X0F█@X7F▓@X07 @X70 @X7F▒ @X08█"
  81.     PrintLn "@X08  ▀@X70 @X7F░ @X07 @X7F▓@X0F███@X7F▓@X07▀         @X04■                                  ▐ jk/pain@X07▀@X7F▓@X0F███@X7F▓@X07 @X70 @X7F░ @X08▀"
  82.     PrintLn "@X08    ▀▀▀ @X70▄@X7F▓▓@X07▀          @X04▌▄    ■▄                          ▄■         @X07▀@X7F▓▓@X70▄@X07 @X08▀▀▀"
  83.     PrintLn "@X08                      @X04▐.▀▐▀▀ ■▀▀▐▐■▀▀▐ ▀▀ ▀■▀▀▌▀▀▀▐▀▀▀▀▀"
  84.     PrintLn "@X04                      .  .       ▐            |"
  85.     STRING008 = ReadLine(PPEPath() + "p!-secur.cfg", 1)
  86.     FOpen 1, PPEPath() + STRING001 + ".cfg", 0, 0
  87.     FGet 1, STRING002
  88.     For INTEGER002 = 1 To 4
  89.         FGet 1, TSTRING003(INTEGER002)
  90.     Next
  91.     FGet 1, STRING004
  92.     FGet 1, STRING005
  93.     FGet 1, STRING006
  94.     FClose 1
  95.     For INTEGER002 = 1 To 4
  96.         If (TSTRING003(INTEGER002) <> "") Then
  97.             AnsiPos 24 + (34 - Len(StripAtx(TSTRING003(INTEGER002)))) / 2, 4 + INTEGER002
  98.             Print "@X01" + StripAtx(TSTRING003(INTEGER002))
  99.             Delay 1
  100.             AnsiPos 24 + (34 - Len(StripAtx(TSTRING003(INTEGER002)))) / 2, 4 + INTEGER002
  101.             Print "@X09" + StripAtx(TSTRING003(INTEGER002))
  102.             Delay 1
  103.             AnsiPos 24 + (34 - Len(StripAtx(TSTRING003(INTEGER002)))) / 2, 4 + INTEGER002
  104.             Print "@X03" + StripAtx(TSTRING003(INTEGER002))
  105.             Delay 1
  106.             AnsiPos 24 + (34 - Len(StripAtx(TSTRING003(INTEGER002)))) / 2, 4 + INTEGER002
  107.             Print "@X0B" + StripAtx(TSTRING003(INTEGER002))
  108.             Delay 2
  109.             AnsiPos 24 + (34 - Len(StripAtx(TSTRING003(INTEGER002)))) / 2, 4 + INTEGER002
  110.             Print "@X0C" + TSTRING003(INTEGER002)
  111.         Endif
  112.     Next
  113.     INTEGER002 = 1
  114.     :LABEL005
  115.     TSTRING007(INTEGER002) = ""
  116.     AnsiPos 24, 2
  117.     Print "                                  "
  118.     AnsiPos 24, 2
  119.     InputStr "_", TSTRING007(INTEGER002), 12, 34, Mask_Pwd(), 1 + 2
  120.     If (TSTRING007(INTEGER002) == STRING004) Goto LABEL006
  121.     AnsiPos 24, 2
  122.     Print "                                  "
  123.     AnsiPos 35, 2
  124.     Print "@X01iNC0RRECT!"
  125.     Delay 1
  126.     AnsiPos 35, 2
  127.     Print "@X09iNC0RRECT!"
  128.     Delay 1
  129.     AnsiPos 35, 2
  130.     Print "@X03iNC0RRECT!"
  131.     Delay 1
  132.     AnsiPos 35, 2
  133.     Print "@X0BiNC0RRECT!"
  134.     Delay 1
  135.     AnsiPos 35, 2
  136.     Print "@X0CiNC0RRECT!"
  137.     Delay 4
  138.     AnsiPos 35, 2
  139.     Print "@X06iNC0RRECT!"
  140.     Delay 3
  141.     AnsiPos 35, 2
  142.     Print "@X04iNC0RRECT!"
  143.     Delay 3
  144.     Inc INTEGER002
  145.     If (INTEGER002 < 4) Goto LABEL005
  146.     If (Left(STRING006, 2) == "##") Then
  147.         GetUser
  148.         Cls
  149.         PrintLn "@X04-(@X8C SECURiTY Vi0LATi0N @X04-@X0C L0CKiNG 0UT USER @X04)-"
  150.         Gosub LABEL002
  151.         FPutLn 1, "@X8AUSER HAS BEEN LOCKED OUT AND HUNG UP."
  152.         FPutLn 1
  153.         FPutLn 1, "@X01(THANX FOR USiNG PAiN!-PRODUCTiONS!)"
  154.         FClose 1
  155.         Message 0, STRING008, "PAiN!-SECURiTY", "SECURiTY ViOLATiON!", "R", 0, 0, 0, PPEPath() + "tmp.msg"
  156.         Delete PPEPath() + "tmp.msg"
  157.         For INTEGER002 = 1 To 5
  158.             Print "@BEEP@"
  159.             Sound 200
  160.             Delay 7
  161.             Print "@BEEP@"
  162.             Sound 1000
  163.             Delay 7
  164.         Next
  165.         U_Sec = 0
  166.         PutUser
  167.         Hangup
  168.     Endif
  169.     If (Left(STRING006, 1) == "#") Then
  170.         Cls
  171.         PrintLn "@X04-(@X8C SECURiTY Vi0LATi0N @X04-@X0C HANGiNG UP USER @X04)-"
  172.         Delay 20
  173.         Gosub LABEL002
  174.         FPutLn 1, "@X8AUSER HAS BEEN HUNG UP."
  175.         FPutLn 1
  176.         FPutLn 1, "@X01(THANX FOR USiNG A PAiN!-PRODUCTiON!)"
  177.         FClose 1
  178.         Message 0, STRING008, "PAiN!-SECURiTY", "SECURiTY ViOLATiON!", "R", 0, 0, 0, PPEPath() + "tmp.msg"
  179.         Delete PPEPath() + "tmp.msg"
  180.         Hangup
  181.     Endif
  182.     If (Left(STRING006, 1) == "!") Then
  183.         Cls
  184.         Gosub LABEL002
  185.         FPutLn 1, "@X84PPE HAS BEEN EXECUTED : @X0C" + Mid(STRING006, 2, Len(STRING006))
  186.         FPutLn 1
  187.         FPutLn 1, "@X01(THANX FOR USiNG A PAiN!-PRODUCTiON!)"
  188.         FClose 1
  189.         Message 0, STRING008, "PAiN!-SECURiTY", "SECURiTY ViOLATiON!", "R", 0, 0, 0, PPEPath() + "tmp.msg"
  190.         Delete PPEPath() + "tmp.msg"
  191.         Call Mid(STRING006, 2, Len(STRING006))
  192.         End
  193.     Endif
  194.     Cls
  195.     Gosub LABEL002
  196.     FPutLn 1, "@X84NOTHiNG HAS BEEN DONE."
  197.     FPutLn 1
  198.     FPutLn 1, "@X01(THANX FOR USiNG A PAiN!-PRODUCTiON!)"
  199.     FClose 1
  200.     Message 0, STRING008, "PAiN!-SECURiTY", "SECURiTY ViOLATiON!", "R", 0, 0, 0, PPEPath() + "tmp.msg"
  201.     Delete PPEPath() + "tmp.msg"
  202.     If (STRING006 <> "") KbdStuff STRING006 + Chr(13)
  203.     End
  204.     :LABEL006
  205.     Cls
  206.     If (Left(STRING005, 1) == "!") Then
  207.         Call Mid(STRING005, 2, Len(STRING005))
  208.         End
  209.     Endif
  210.     KbdStuff STRING005 + Chr(13)
  211.     End
  212.  
  213. ;------------------------------------------------------------------------------
  214. ;
  215. ; Usage report (before postprocessing)
  216. ;
  217. ; ■ Statements used :
  218. ;
  219. ;    6       End
  220. ;    5       Cls
  221. ;    17      Goto 
  222. ;    11      Let 
  223. ;    17      Print 
  224. ;    17      PrintLn 
  225. ;    14      If 
  226. ;    2       FOpen 
  227. ;    5       FClose 
  228. ;    5       FGet 
  229. ;    34      FPutLn 
  230. ;    2       Hangup
  231. ;    1       GetUser
  232. ;    1       PutUser
  233. ;    4       Delete 
  234. ;    1       InputStr 
  235. ;    4       Gosub 
  236. ;    1       Return
  237. ;    16      Delay 
  238. ;    1       Inc 
  239. ;    2       KbdStuff 
  240. ;    2       Call 
  241. ;    15      AnsiPos 
  242. ;    4       Message 
  243. ;    2       Sound 
  244. ;
  245. ;
  246. ; ■ Functions used :
  247. ;
  248. ;    5       /
  249. ;    46      +
  250. ;    5       -
  251. ;    7       ==
  252. ;    2       <>
  253. ;    4       <
  254. ;    3       <=
  255. ;    6       >=
  256. ;    10      !
  257. ;    6       &&
  258. ;    3       ||
  259. ;    8       Len(
  260. ;    1       Upper()
  261. ;    3       Mid()
  262. ;    4       Left()
  263. ;    2       Chr()
  264. ;    9       StripAtx()
  265. ;    1       Mask_Pwd()
  266. ;    12      PPEPath()
  267. ;    1       ReadLine()
  268. ;    1       UN_Name()
  269. ;    1       UN_City()
  270. ;    1       CurSec()
  271. ;    1       Exist()
  272. ;    1       I2S()
  273. ;    1       TokenStr()
  274. ;
  275. ;------------------------------------------------------------------------------
  276. ;
  277. ; Analysis flags : WBC
  278. ;
  279. ; W - Write user ■ 5
  280. ;     Program writes a user record. Although this may be normal for a
  281. ;     User Editor, it may also be a way to modify an account level.
  282. ;     ■ Search for : PUTUSER
  283. ;
  284. ; B - Brute hangup ■ 1
  285. ;     Program hangup without notification. This may be a good way to
  286. ;     disconnect a user, but if used randomly, may be very nasty
  287. ;     ■ Search for : HANGUP, DTROFF
  288. ;
  289. ; C - Call child PPE ■ 3
  290. ;     This is usually normal, but may be a tricky way to launch some
  291. ;     sysop-only commands.
  292. ;     ■ Search for : CALL
  293. ;
  294. ;------------------------------------------------------------------------------
  295. ;
  296. ; Postprocessing report
  297. ;
  298. ;    3       For/Next
  299. ;    0       While/EndWhile
  300. ;    6       If/Then or If/Then/Else
  301. ;    0       Select Case
  302. ;
  303. ;------------------------------------------------------------------------------
  304. ;                 AEGiS Corp - Break the routines, code against the machines!
  305. ;------------------------------------------------------------------------------
  306.