home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MUR_PIN1.ZIP / PIN.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1993-08-20  |  3.5 KB  |  225 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 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER002
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     Integer  INTEGER007
  25.     Integer  INTEGER008
  26.     Integer  INTEGER009
  27.     Integer  INTEGER010
  28.     Integer  INTEGER011
  29.     String   STRING003
  30.     String   STRING004
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     INTEGER006 = 2
  40.     STRING007 = " 1234567890"
  41.     INTEGER007 = 10
  42.     INTEGER008 = 5
  43.     INTEGER009 = 50
  44.     GetUser
  45.     INTEGER004 = U_Stat(10)
  46.     INTEGER005 = U_Stat(14)
  47.     INTEGER002 = InStr(U_Notes(4), "|")
  48.     If (INTEGER002 == 0) Then
  49.         STRING008 = String(INTEGER004)
  50.         STRING009 = String(INTEGER005)
  51.         U_Notes(4) = STRING008 + "|" + STRING009
  52.         PutUser
  53.     Endif
  54.     If (Strip(U_Ver, " ") == "") Goto LABEL001
  55.     INTEGER010 = Mid(U_Notes(4), 1, INTEGER002 - 1)
  56.     INTEGER011 = Mid(U_Notes(4), INTEGER002 + 1, 10)
  57.     If (INTEGER004 - INTEGER010 >= INTEGER007) Goto LABEL005
  58.     If (INTEGER005 - INTEGER011 >= INTEGER008) Goto LABEL005
  59.     INTEGER003 = U_Logons() / INTEGER009
  60.     If (U_Logons() - INTEGER003 * INTEGER009 == 0) Goto LABEL005
  61.     Goto LABEL007
  62.     :LABEL001
  63.     DispFile "c:\pcb\ppe\pin\newuser", 1
  64.     Newline
  65.     InputStr "Please enter your Personal Identification Number PIN: ", STRING003, 14, 4, STRING007, 1
  66.     If (STRING003 == "1234") Goto LABEL002
  67.     If (STRING003 == "4321") Goto LABEL002
  68.     If (STRING003 == "1000") Goto LABEL002
  69.     If (STRING003 == "1111") Goto LABEL002
  70.     If (STRING003 == "2000") Goto LABEL002
  71.     If (STRING003 == "2222") Goto LABEL002
  72.     If (STRING003 == "3000") Goto LABEL002
  73.     If (STRING003 == "3333") Goto LABEL002
  74.     If (STRING003 == "4000") Goto LABEL002
  75.     If (STRING003 == "4444") Goto LABEL002
  76.     If (STRING003 == "5000") Goto LABEL002
  77.     If (STRING003 == "5555") Goto LABEL002
  78.     If (STRING003 == "6000") Goto LABEL002
  79.     If (STRING003 == "6666") Goto LABEL002
  80.     If (STRING003 == "7000") Goto LABEL002
  81.     If (STRING003 == "7777") Goto LABEL002
  82.     If (STRING003 == "8000") Goto LABEL002
  83.     If (STRING003 == "8888") Goto LABEL002
  84.     If (STRING003 == "9000") Goto LABEL002
  85.     If (STRING003 == "9999") Goto LABEL002
  86.     If (STRING003 == "0000") Goto LABEL002
  87.     If (Len(STRING003) <> 4) Goto LABEL002
  88.     Newline
  89.     Newline
  90.     InputStr "Please re-enter your PIN again to compare: ", STRING004, 14, 4, STRING007, 1
  91.     PrintLn "@CLS@@X0E"
  92.     If (STRING003 == STRING004) Then
  93.         Goto LABEL004
  94.     Else
  95.         Goto LABEL003
  96.     Endif
  97.     :LABEL002
  98.     Newline
  99.     DispFile "c:\pcb\ppe\pin\nicetry", 1
  100.     Goto LABEL001
  101.     :LABEL003
  102.     Newline
  103.     PrintLn "@CLS@@X00@X0CThe PIN entered do not match!@XFF"
  104.     Goto LABEL001
  105.     :LABEL004
  106.     DispFile "c:\pcb\pin\ppe\pinwarn", 1
  107.     U_Ver = STRING003
  108.     PutUser
  109.     Goto LABEL007
  110.     :LABEL005
  111.     Newline
  112.     InputStr "Please enter your Personal Identification Number PIN: ", STRING005, 14, 4, STRING007, 1
  113.     If (STRING005 == U_Ver) Then
  114.         If (INTEGER004 - INTEGER010 >= INTEGER007) Then
  115.             STRING008 = String(INTEGER004)
  116.         Else
  117.             STRING008 = String(INTEGER010)
  118.         Endif
  119.         If (INTEGER005 - INTEGER011 >= INTEGER008) Then
  120.             STRING009 = String(INTEGER005)
  121.         Else
  122.             STRING009 = String(INTEGER011)
  123.         Endif
  124.         U_Notes(4) = STRING008 + "|" + STRING009
  125.         PutUser
  126.         Goto LABEL007
  127.     Else
  128.         Log "Invalid PIN entered (" + STRING005 + ")", 0
  129.         Goto LABEL006
  130.     Endif
  131.     :LABEL006
  132.     Newline
  133.     PrintLn "@X00@X0CThe PIN you have entered is incorrect!@XFF"
  134.     Newline
  135.     InputStr "Please re-enter your PIN: ", STRING006, 14, 4, STRING007, 1
  136.     If ((STRING006 <> U_Ver) && (INTEGER006 > 1)) Then
  137.         Log "Invalid PIN entered (" + STRING006 + ")", 0
  138.         Dec INTEGER006
  139.         Goto LABEL006
  140.     ElseIf (STRING006 == U_Ver) Then
  141.         Goto LABEL007
  142.     Endif
  143.     Message 0, "SYSOP", U_Name(), "Invalid PIN", "R", 0, 0, 0, "c:\pcb\ppe\pin\sysmsg"
  144.     Log "Invalid PIN entered (" + STRING006 + ")", 0
  145.     Log "4 Invalid PIN attempts - Automatic Disconnect", 0
  146.     DispFile "c:\pcb\ppe\pin\hangup", 1
  147.     U_Sec = 8
  148.     PutUser
  149.     Delay 200
  150.     Hangup
  151.     End
  152.     :LABEL007
  153.     End
  154.  
  155. ;------------------------------------------------------------------------------
  156. ;
  157. ; Usage report (before postprocessing)
  158. ;
  159. ; ■ Statements used :
  160. ;
  161. ;    2       End
  162. ;    49      Goto 
  163. ;    21      Let 
  164. ;    3       PrintLn 
  165. ;    33      If 
  166. ;    4       DispFile 
  167. ;    1       Hangup
  168. ;    1       GetUser
  169. ;    4       PutUser
  170. ;    4       Log 
  171. ;    4       InputStr 
  172. ;    1       Delay 
  173. ;    1       Dec 
  174. ;    8       Newline
  175. ;    1       Message 
  176. ;
  177. ;
  178. ; ■ Functions used :
  179. ;
  180. ;    1       *
  181. ;    1       /
  182. ;    11      +
  183. ;    6       -
  184. ;    27      ==
  185. ;    2       <>
  186. ;    1       >
  187. ;    4       >=
  188. ;    7       !
  189. ;    1       &&
  190. ;    1       Len(
  191. ;    2       Mid()
  192. ;    1       InStr()
  193. ;    1       U_Name()
  194. ;    2       U_Logons()
  195. ;    1       Strip()
  196. ;    6       String()
  197. ;    2       U_Stat()
  198. ;
  199. ;------------------------------------------------------------------------------
  200. ;
  201. ; Analysis flags : WB
  202. ;
  203. ; W - Write user ■ 5
  204. ;     Program writes a user record. Although this may be normal for a
  205. ;     User Editor, it may also be a way to modify an account level.
  206. ;     ■ Search for : PUTUSER
  207. ;
  208. ; B - Brute hangup ■ 1
  209. ;     Program hangup without notification. This may be a good way to
  210. ;     disconnect a user, but if used randomly, may be very nasty
  211. ;     ■ Search for : HANGUP, DTROFF
  212. ;
  213. ;------------------------------------------------------------------------------
  214. ;
  215. ; Postprocessing report
  216. ;
  217. ;    0       For/Next
  218. ;    0       While/EndWhile
  219. ;    7       If/Then or If/Then/Else
  220. ;    0       Select Case
  221. ;
  222. ;------------------------------------------------------------------------------
  223. ;                 AEGiS Corp - Break the routines, code against the machines!
  224. ;------------------------------------------------------------------------------
  225.