Is there any way to "Reverse engineer" a "Protected" Basic program in a 71B.
HP71B Basic
|
|
« Next Oldest | Next Newest »
|
▼
09-22-2006, 01:13 PM
▼
09-22-2006, 02:29 PM
If you have it on a tape or disc, I think you can just change the file type bytes in the directory entry to remove the protection. As far as I know, the actual file contents are not any different than a non-protected program. I'm not aware of a specific program you can use to do that, but it shouldn't be too hard to write one as the HP-71 has very good HP-IL control capabilities. Basically what is required is to have a subroutine that would issue the appropriate DDT commands to tell the drive to read sectors and send them to the HP-71. The main program would loop reading directory sectors and examining the directory entries until it finds the desired one, then change the bytes in the buffer and tell the drive to write it back to the medium. The other approach would be to try to modify the file information in memory. The built-in "PEEK" and "POKE" commands were designed to prevent this, but I think there are LEX files that have unrestricted versions. Possibly in the JPCROM? ▼
09-22-2006, 05:37 PM
I would have thought it worked as other basic compilers:
09-22-2006, 05:39 PM
Get Tony Duell's LIF utilities for Linux. Even if you are on Windows, his C source code fully explains the various LIF types. There are two types of special protection, if I recall. One is merely marked as unreadable by the file type as Eric explained. The other is encrypted, but with a trivial key. (16 bits if I remember correctly.)
Regards, ▼
09-22-2006, 06:22 PM
Ok, so what I need to do, is to either transfer the EEPOM image to a pc or the ma-stics then, and try to decode them, any links how to do that. I can easily set up something that reads the EEPROM, if i knew the electrical and the mecanical connections and so, just to program a PIC to read the EEPROM and send the contens to a PC, but where do I find the info needed to interface with the EEModule?? ▼
09-22-2006, 06:47 PM
It's slightly tricky. It's not a regular bytewide parallel ROM, nor a convential bit-serial (I2C or SPI) ROM. It uses the nibble-serial Saturn bus. There are four data lines, a commmand/data line, and a clock (strobe). You send the module a read command, followed by five nibbles of address, then clock out the data (as many nibbles as you like). The documentation on the Saturn bus is in the HP-71B Hardware Internal Design Specification, which is available on the MoHPC DVD or CD set.
Edited: 22 Sept 2006, 6:47 p.m.
09-23-2006, 04:21 PM
It's far more complicated than that. The EPROM are controlled by a memory controller chip. There is no direct access. The external pins require using the Saturn Bus protocol to access. When you remove the eprom from the 71B, it becomes brain-dead and won't respond to anything except a configuration command using the Saturn Bus protocol. Eric Says: You send the module a read command, followed by five nibbles of address, then clock out the data (as many nibbles as you like). Reply: Only after properly configuring the device. The only commands that the memory controller respond to, from power up, is a configuration sequence. It requires IDentifying the chip, configuration (assigning addresses) and then you can use read data commands. Un privatizing a file is quite easy. I just don't happend to recall the sequence right now but basically using a poke at the right place does the trick. And yes, the JPCROM does have the ability to peek and poke in private areas. However, I don't think the X version can do it. For some reason, that was removed in the X version. I have both versions of JPCROM.
Edited: 23 Sept 2006, 4:26 p.m.
09-22-2006, 07:33 PM
http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv014.cgi?read=65456
Alternately, you can key in the MAKELEX program, which needs Listings for MAKELEX, a number of PEEK/POKE LEX files in MAKELEX format, as well as details on the exact locations to POKE in the file header are all available in past issues of PPC Journal, CHHU Journal, and other such old publications. If you've already got them it then becomes a simple matter of searching for the items mentioned. Best regards from V. ▼
09-22-2006, 08:27 PM
No, dont have them, avaible here?? ▼
09-23-2006, 02:17 AM
Jake Schwartz's CD-ROMs have tons of old HP calculator user group journal back issues. They are fascinating reading from a number of perspectives. The Museum DVD has manuals for many, many old machines, including the HP-71 technical specs that Eric mentioned. The reason you need a special PEEK and POKE is that the built-in versions respect the policy that protects the file headers from alteration. The hobbyist versions let you read or scribble over any old RAM you care to. I don't type in HEX code to get that stuff. Instead, I use an older PC with ISA slots, and Christoph Klug's ISA PC HP-IL host adapter, driven with J.F. Garnier's EMU41 acting as a virtual HP-IL disk. Using that lash-up I can read the old "swap disk" images (found here) which contain many of the programs referred to in the old newsletters and journals.
Regards, ▼
09-23-2006, 06:27 AM
Ok, need to get those discs then.
Solution: Is there any HPIL/USB converters around? ▼
09-23-2006, 09:20 AM
Hi, Tomas: You don't need any extra hardware, at all. Do the following:
Best regards from V. ▼
09-23-2006, 11:28 AM
Valentin, does that work, if the program in question is stored on EEPROM, as mentioned earlier in this thread? If it's copy protected, there is no easy way to move it to a RAM file were you can modify the protection flags. It might be possible to create a dummy program file in memory of equal length and then use PEEK & POKE to transfer the EEPROM contents to this location... Marcus ▼
09-23-2006, 12:21 PM
Good point, I was just thinking of that myself. ▼
09-23-2006, 02:33 PM
What sort of EPROM is it? If it's a CMT front port module, there's a fellow who has a full programming setup. He sells modules burned with your choice of images from time to time on eBay. He might be able to read your EPROM for you.
Regards/
09-23-2006, 02:45 PM
Hi, Marcus: Tomas himself posted (the underlining is mine): " BTW I have the program on mag-strips, and a EEPROM ...
Best regards from V.
▼
09-23-2006, 04:46 PM
Yes, I have an older version on Magnetic "cards", and obviously what I learned here I can read them back to my 71B, modify the needed bits and have the code readable, I guess. I guess that if I buy a DVD from here, all stuff should be in there, as well as needed info to design a HP-IL2USB/RS232 interface
EDIT Edited: 23 Sept 2006, 4:51 p.m. ▼
09-23-2006, 04:52 PM
you say
reply
you say
my reply If you'd like to send me the EPROM, I can unprotect it and write it back to your EPROM. BTW, what is the program you are trying to unprotect?
Edited: 23 Sept 2006, 5:11 p.m. ▼
09-23-2006, 05:14 PM
Quote: Well, it's basically a datalogging sw that takes data from a ad/converter hooked on the IL-Bus. And since these things interest me quite a lot, I thought it would be a fun task/project to do myself. ▼
09-23-2006, 05:16 PM
No problem. The reason I asked is because some people think they can unprotect all programs and use them from RAM. Some programs can only be run from the ROM (Assembler for instance) they were originally put on. You can unprotect the Assember but it won't run, if you move it to RAM or EPROM. Edited: 23 Sept 2006, 5:16 p.m.
09-23-2006, 04:33 PM
You CANNOT modify what is in EPROM. You must copy to RAM, modify and reprogram the EPROM. I can do that for you, if you like. I have an EPROM programmer (2 in fact).
09-23-2006, 04:31 PM
You don't need any HP-IL to get files to the PC. You do need a 9114 drive though, if you don't. You can use programs LIFUTIL for instance, to read and write 9114 LIF disks. You can edit them with any text editor. However, I also have some programs that will allow you to modify bits on any file on the 71B. Not sure how I would get them to you, if you don't have an HP-IL or 9114B. I can provide them on EPROM, but prefer to keep my eproms. If you have an extra EPROM, I can program it for you, to include these programs. I move files from PC to 71B all the time and don't have an HP-IL interface on my PC. |