--------------------------------------
  %>> Ctrl-S Pauses/Space Quits <<%

Uploaded By: -=[GALACTUS]=- **

}=======================================
=                                     =
=         hacking the hp 3000         =                              =
=                 by                  =
=                                     =
=      blitziod ?? & galactus **      =
=                                     =
=                 of                  =
=                                     =
=       the elite hackers guild       =
=                                     =
=======================================

recognizing an hp 3000
----------------------
  an hp 3000 can normally be recognizedanswering prompt ':' although
some systems ive seen answer with a
password message of some kind. if you
just hit some characters and a return
you will see...

expected hello,  :job, :data, or (cmd) as logon. (cierr 1402)

   the 'cierr' message is a dead give-
away that you have found an hp 3000.


logging on
----------

  you must log on within a few minutes
after hitting  or the system will
hang up. the time varries from system
to system. 
  log on by typing at the co_. the word hello
  2. a space
  3. your log-on identification
a correct logon might look like this...

:hello ed.datasys3

hp3000 / mpe iii.  thu, feb 23, 1987,  2:59 pm
:

an example log-on id would thus be
ed.datasys3 here the username is ed
and the account is datasys3. some sys-
tems also require a password but this
is not a standard feature.

after your in
-------------

  the hp 3000 is actually a very hacker
friendly system. there are four help
files for each commanDop command = lists formal syntax

:help command,operation = explanation
     of opperation.

:help command,example = example usage

:help command,parms = lists specific 
     command parematers.

  the showjob command lists all jobs 
usernames currently using the system.
an example might look like this...


:showjob

jobnum  state ipri jin  jlist    introduced  job name

#s2400  exec       83   83       fri 10:54a  tom.clifton
#s2394  exec       90   90       fri 10:43a  Rl
#s2368  exec       26   26       fri 10:01a  ed.datasys3
#s2369  exec       47   47       fri 09:34a  intro.basic

4 jobs:
    0 intro
    0 wait; incl 0 deferred
    4 exec; incl 4 sessions
    0 susp
jobfence= 2; jlimit= 6; slimit= 60

   i have noticed that all log-on's
i have found contain 10 bytes sep-
erated somewhere with a period. this
however is just a guidline... not a
rule. you will want to do several 
showjob's during high usage hours. on
some systems thesEd's are all
that you need to log-in on that account.
since these log-on id's are printed out
on any hard-copy login or showjob 
trashing hard-copy terminal sights or
the system sight can be quite helpfull
to get you started.

aditional notes
---------------
 
 the hp 3000 is a very powerful system
which opperates in six modes and under-
stands four programing languages. 
the modes are:

1. system mode
2. edit/3000
3. basic/3000
4. fortran/3000
5. cobol/3000
6. rpg/3000akes it very easy for most hackers
to talk to the hp 3000. only the basic
is interactive, the others are compiler
languages.
  ^h = backspace
  ^x = ignore line
you may want to experiment with 
;term=nn tagged onto your log-on...
you will have to experiment with the nn
part.

  ^y = break

system mode
-----------

   the system mode is the hub of the
hp 3000. you log-on in the system mode
and start here. the prompt for this
mode is ':' some important commands are:

:a>rminates a program or oppera-
        tion after the break key is hit

:bye = terminates session

:showjob = lists user names currently
          logged on

:redo = allows you to edit last issued
       command. the redo keys are:
       d = delete
       i = insert
       r = replace
       u = undo all edits
       
:purge filename = deletes a file

:listf = lists all filenames in your
        group

:file lp;dev=deviceclass name = used to
     create a file referanc 
     lineprinter.
     dev can = lp

the following are examples of commands
that compile source files.

:basicomp source file
:cobol source file
:fortran source file
:rpg source file
:spl source file

the usl filename will be $oldpass and
is temporary.
to specify a differant usl filename 
type a ',filename' tagged on the end.

:prep $oldpass,$newpass
     prepares the object code from
     $oldpass placing it in $newpass
     then deleting $oldpass and re-
     namass as $oldpass

:save source file
     makes a session temporary soucefile
     permanant.

:run $oldpass
     executes program file $oldpass

the following are examples of statements
that compile a sourcefile into $oldpass
:basicprep sourcefile
:cobolprep sourcefile
:fortprep sourcefile
:rpgprep sourcefile
:splprep sourcefile

:preprun $oldpass = same as prep but
       also executes program

the following are commands that 
compile prepare and execute a source
filasicgo sourcefile

:cobolgo sourcefile

:fortgo sourcefile

:rpggo sourcefile
 
:splgo sourcefile


:build filename;disc=x
       builds disc file x records long
       for fortran
:build filename;rec=-14,18,f,ascii
       builds a file 1023 records
       14 chr per record. 18 rec per
       block for cobol

edit/3000 mode
--------------

   edit/3000 is a file editor. esent-
ially it is a word processer. it allows
you to write and edit source files 
(or normal tep which can be
compiled and run in system mode. to 
enter edit/3000 you must type at the
system prompt.

:editor
hpp32201a.7.01 edit/3000 tue, feb 27, 1987 3:08 pm
(c) hewlett-packard co. 1976
/
the editor prompt is a '/'

/add = allows to type text into the
       area
/add 3.1 = enters text between lines 
           3 & 4

/add 5.1,holdq,now = incerts hold file
                     after line 5
  
^y = terminates add mode

/delete x = deletes line x of work area

_/y  = deletes lines x thru y

/delete all  = clears work area

/end = wipes out work area and exits
       the edit/3000

/gather 11/15 to 8.1 = moves lines 11
        thru 15 to lines 8.1 to 8.5

/gather all = renumbers all lines 
     starting at 1 inncrementing 1

/hold all = stores work area in hold
            file

/holdq 9/33 = stores only lines 9 thru
              33

/joinq filename = joins file conents
       to end of work area

/keep filename = stores win
                 a file

/keep filename(9/33) = stores only 
       lines 9 thru 33 to work area

/modify 2 = prints line 2 and waits for
            modifications. use same
            edit keys as redo

/text filename = loads disk file into
                 work area.

/list all = lists work area

/list 1/7 = list lines 1 thru 7

/list 2 = lists line 2

/list all,offline = prints work area to
               the line printer.

basic/3000 mode
---------------

s the only interactive 
language on the hp 3000. you will find
it very usefull for 2 important reasons
1. it allows you to talk interactive.
2. basic is an easy well-known language
you enter basic by typing:

:basic
basic 3.0
>

the prompt for basic is '>'
basic/3000 is much like its predec-
essor basic/2000 version f which is
discussed in my file 'hacking the 
hp 2000' it is not unlike most basic's
though there are some differances. if
you type an error in a state
will get the error message as soon as
you hit return. it will look like this:

>10 print 5*six
error@9

meaning that the error was the 9th 
byte (spaces are not counted). 
if you want to have a string variable
more than one byte long you will have
to dim it for the string length.
line numbers may range from 1 to 9999
the operand for exponential is '**'
a larger list of commands and state-
ments can be found in my hp 2000 file
but here are some.

>save filename!,fas purges old filename before saving

>create filename,10 
       creates a basic formated file 10
       records long

>exit = returns you to system mode

>save filename
         saves program to disk

>save filename,fast
         same but faster to get

>run filename 
         gets and runs program

>get filename
        loads program from disk

>system = return to system without 
          losing memory          

>list,out=printer = list lineprinter
          
>run,out=printer = program runs with 
            outout to line printer

the following are examples of basic/
3000 statements.

>10 files dfile,ascf
          assigns dfile as file #1 and
          ascf af file #2

>20 print#1;a = serial write

>30 print#1,5;a = direct write

>40 read#1?a = serial read

>50 read#1,5;a = direct read

>60 restore#1 = resets file pointer

>70 read#2,2 = positions file 2 pointer
               at record 2

>80 advance#1;10,x = movEr by 
                     10 items

>90 linput #2,3;b$ = reads record 3 of
                  file 2 into b$

>100 b$=a$(3) = b$ = from byte 3 of 
                a$ over

>110 b$=a$(3,5) = b$ = from byte 3 to
                 byte 5 of a$
>120 b$=a$(3;6) = substring starting at
          byte 3 and containing 6 bytes

>10 convert a to a$ = gives a the value
               of a$ making it a string
              variable.

>20 convert a$ to a = opposite of abovend(0) = generates random number
               between 0 and 1. use the
               formula:
               x=rnd(0)*(u-l)+l to
               generate a random num. 
               from l (lowest) to u
               (highest)


compilers
---------     

  the hp 3000 also has 3 compiler
languages, they are:

1. fortran/3000
2. cobol/3000
3. rpg/3000

these languages are written with edit/
3000 and then compiled, preped and 
executed from system mode. i woV them in depth here but i may in
the future in hacking the hp 3000 ][
hope this phile has been helpfull to
you. if you want further info on the
hp 3000 you may want to order these
manuals from hewlett-packard.

using the hp 3000..part # 03000-90121
edit/3000 referance manual
                   part # 03000-90012
using cobol guide..part # 32213-90003

special note: this file is written 
for hp 3000's using the mpe-iii 
operating system, another op sys 
(mpe-c) isular but has no
help files and no redo comma====================================
=         end of phile             =
====================================

---------------------------------------