HPLOCK31.DOC
NOTICE: Program HPLOCK.LIB and documentation HPLOCK31.DOC are
copyright (C) 1995-96 Ludvik Krulik, all rights reserved.
This version of HPLOCK is NOT public domain or free
software, but is being distributed as SHAREWARE.
You are granted a limited license to use this shareware for
a two week evaluation period. If after the two week
evaluation period you determine that HPLOCK meets your
needs, you are required to register HPLOCK.
If you distribute this software to others, you are required
to distribute the entire unmodified package (ZIP file).
Commercial use of this material is not allowed without prior
permission from the author.
WARRANTY: Following library works ONLY on G/GX series HP48
calculators. It contains unsupported code. Even though it
has been extensively tested on various ROM revisions,
USE AT YOUR OWN RISK.
THIS SOFTWARE IS PROVIDED WITHOUT ANY WARRANTY. AUTHOR
SHALL NOT BE LIABLE FOR ANY DAMAGES RESULTING FROM THE
USE OF THIS SOFTWARE, INCLUDING BUT NOT LIMITED TO, LOSS
OF PROFIT, DATA OR USE OF THE SOFTWARE, OR INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OR OTHER
SIMILAR CLAIMS.
NOTE TO HACKERS: This program is shareware. If you can take it apart
and remove shareware pause, keep this to yourself.
If you have any questions, suggestions or bug reports,
e-mail me at Ludvik.Krulik@snet.fer.uni-lj.si
WARNING: *********************************************************
* DO NOT DISTRIBUTE THIS LIBRARY WITH PASSWORD ALREADY *
* SET SINCE IT WILL !!!!IMMEDIATELY!!!! LOCK HP48 IT IS *
* INSTALLED IN. THERE IS NO WAY TO BREAK THE LOCK *
* WITHOUT LOOSING ALL YOUR MAIN MEMORY (UNLESS YOU HAVE *
* A PASSWORD) *
*********************************************************
1. Overview
HPLOCK v3.1 = HP48 LOCKing program.
HPLOCK consists of four commands:
- HPLOCK, locks your HP48 with password,
- SECURE, encrypts and stores away HOME with sub directories,
- SETPASSWD, sets/changes password,
- ABOUT.
Note: HPLOCK is a bit tricky to install so please follow
instructions carefully if you're not experienced HP48
user. Password is written directly into HPLOCK library.
2. Revision history
- Version 1.1:
* Fixed bug: During turn on period, key scanning was enabled
so ON+A+F with Recover Memory unlocked HP48.
- Version 3.0:
* Fixed bug: If you ran DBASE and few other programs after
SECURE, HP48 crashed.
* Added customizable display.
* Added code to prevent keyboard autorepeat when entering
password.
* Fixed bug: SETPASSWD accepted empty password.
* Fixed bug: you could execute SECURE even without password.
* Added handling of 'Recover Memory?' + [YES].
- Version 3.1:
* SECURE doesn't require password anymore to encrypt HOME.
3. Using HPLOCK library
3.1 How to install HPLOCK and set password
3.1.1 For HPPORT v3.1 (binary or library - ID 1505) users:
- Send library from PC via XModem, run HPPORT, (set I/O to
wire and select source port) and press [A. 'V]. Wait until
transfer has finished. I suggest storing library it in port
0 since RAM cards can easily be removed.
- Press CANCEL or ENTER.
- Run HPPORT again, select HPLOCK, press [RCL] and ENTER.
- Press [SETPA].
- Enter password twice.
! Password can be up to 10 keystrokes long.
! Shift keys are treated as keystrokes.
! You can't use ON as keystroke.
! After entering password you have to press ENTER.
! If everything was OK, you should see message: "Password
Set". It means that password was written into library on the
stack. Therefore, library has been modified.
- Store library from the stack into a dummy variable.
- Warmstart HP48 (ON+C).
- Run HPPORT, select HPLOCK library and press [PURG].
- Press [->PRT], select dummy variable and press ENTER.
- Optional: Make a backup copy of modified library on your PC
and clearly mark it as modified: Press LeftShift+[A. 'V]
and issue XModem receive on PC. Wait until transfer has
finished.
- Press CANCEL or ENTER.
- Purge dummy variable.
3.1.2 Standard
Note: << ... >> is user RPL program. Put in on stack and press
EVAL to execute it. Example assumes port 0.
- Download library in one of HP48's ports. I suggest storing
it in port 0 since RAM cards can easily be removed.
<< 'DUMMY' XRECV 'DUMMY' RCL 0 STO 'DUMMY' PURGE >>
- Warmstart HP48 (press ON+C).
- Recall HPLOCK library on stack level 1.
<< :0:1503 RCL >>
- Run SETPASSWD.
<< SETPASSWD >>
- Enter password twice.
! Password can be up to 10 keystrokes long.
! Shift keys are treated as keystrokes.
! You can't use ON as keystroke.
! After entering password you have to press ENTER.
! If everything was OK, you should see message: "Password
Set". It means that password was written into library on the
stack. Therefore, library has been modified.
- Store library from the stack into a dummy variable.
<< 'DUMMY' STO >>
- Optional: Make a backup copy of modified library on your PC
and clearly mark it as modified.
- Warmstart HP48.
- Purge original library.
<< :0:1503 DUP DETACH PURGE >>
- Install modified library from a dummy variable into one of
the ports and purge dummy variable.
<< 'DUMMY' RCL 0 STO 'DUMMY' PURGE >>
- Reset HP48.
3.2 How to lock your HP48
- Press LOCK from HPLOCK menu. This also turns HP48 off.
Notes:
- While HP48 is locked, all activated alarms are prevented
from executing. They are not deleted though. If alarm turns
HP48 on, it is immediately turned off.
- HP48 timeout is set to 10 seconds.
- If someone has been tampering with your HP48, you should
see a note on the bottom of the screen saying: "Wrong
Password".
- If alarm went off while HP48 was locked, you should see a
note on the bottom of the screen saying: "Alarm went off".
You should check your alarm list.
- You can't break the lock by pressing ON+XX combinations or
by resetting through a hole under the rubber foot. HPLOCK
even handles 'Recover Memory' + [YES] situations.
- If a thief wants to steal your HP48, there is no library in
the world that could prevent him from using it. There is no
cure against removing batteries or RAM cards :( However,
there is a shorter way to get in than to wait half a day
for the capacitor to discharge after removing batteries.
- HPLOCK creates 'HPLOCKpar' in hidden directory. If you
delete it, HP48 will lock up on next warm start (ON+C).
- For 'optimum performance' assign LOCK to a key (I suggest
CONT if you have no use for it).
If you are using HPSTACK library (1502), you can take
advantage of it's entry mode sensitive user keys.
3.3 How to change password
- Procedure is the same as with 2.1 except that you have to
enter old password first.
3.4 Customizing display
* Put you message in form of a string in 'HPLOCK.USR' variable
in HOME directory. (you can use newline characters to
separate lines of text)
* LOCK displays only first six lines of a string.
3.5 SECURE program
If you have a lot of personal information in your HP48, it's
difficult to lend your calculator to a friend, especially if he
(she) is an experienced HP48 user. This command solves the
problem:
- Running SECURE first time:
* HOME, it's sub directories and hidden directory are
copied into a single object and encrypted.
* The rest of the memory is CLEARED and HP48 issues warm
start.
- Running SECURE second time:
* After entering password, all your variables should be
back and ready.
Note: While your HOME is secured, your friend is free to run
programs and create variables. Of course, they will be
wiped out after you restore HOME to it's previous
state.
Note: This command hasn't been extensively tested, so be
warned.
4. Credits
Thanks to the following people for suggestions and beta testing:
Francois Vignon (100333.700@compuserve.com)
Andrej Sila (asil@ltk6.fer.uni-lj.si)
Erik Wever (ew@p20.wharfrat.fido.de)
Makoto Miyamoto (Makoto.Miyamoto@rz.ruhr-uni-bochum.de)
5. Information about library
- Version: 3.1
- Library ID: 1503
- Size: 1977.0 bytes
- Checksum (with empty password): #9C5Eh
6. Registering information
If you decide to register this program, you will
* receive the latest version without "SHAREWARE PAUSE" message
via Internet e-mail, uuencoded.
* receive future upgrades free of charge via Internet e-mail,
uuencoded.
You can register more than one program.
If you decide to register three or more, registration fee is for
three programs only.
Payment method: In cash, US$ only.
Registration form:
=====================================================================
TO: Date: _____________________
Ludvik Krulik
Sela 49a, 8257 DOBOVA
SLOVENIA
Ludvik.Krulik@snet.fer.uni-lj.si
FROM:
Name: _______________________________________________________
Address: _______________________________________________________
Country: _______________________________________________________
Internet E-mail address (obligatory) :
________________________________________________________________
ORDER:
HPTODO v3.1 ........................................ (5 US$) [ ]
HPAPPA v3.0 ........................................ (5 US$) [ ]
HPCALENDAR v3.1 .................................... (5 US$) [ ]
HPLOCK v3.1 ........................................ (5 US$) [ ]
HPPORT v3.1 ........................................ (5 US$) [ ]
================================================================
TOTAL (three if more than three checked)..............__ x 5 US$
=====================================================================