BetaArchive
https://www.betaarchive.com/forum/

[OFFER] Compaq Presario 9548 Restore cd
https://www.betaarchive.com/forum/viewtopic.php?f=16&t=29727
Page 1 of 1

Author:  mkbea1985 [ Wed Oct 09, 2013 2:56 am ]
Post subject:  [OFFER] Compaq Presario 9548 Restore cd

http://web.archive.org/web/199612252315 ... 48.qs.html

When I uploaded the other restore cd for Compaq Presario one of the users was able to patch the bioslock to enable the restore wizard. But I didn't need to do that since I just needed to extract the exe files. But with this restore cd I cannot extract the exe files with any program out there so using the quick restore program is necessary. I do not know now to use a hex editor and know what I'm doing so maybe someone can patch the program for me and upload the patched exe. Also I think you can find the serial numbers to enter in the database folder on the cd by opening the skumodel.db file with notepad or try opening all of them in the database folder with notepad if there could be others that may have a serial number too. Thanks for your help.

http://www.adrive.com/public/vrATKz/CPQQRS73101.zip

Author:  The Distractor [ Wed Oct 09, 2013 12:18 pm ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Will look at this when i can :)

Author:  intuiX [ Wed Oct 09, 2013 2:53 pm ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Thank you !

Spec sticker from the box a Compaq Presario 9548 shipped in :

Image

Author:  mkbea1985 [ Sun Oct 20, 2013 7:50 am ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Any Progress Distractor? Don't mean to bother you.

Author:  The Distractor [ Mon Aug 29, 2016 8:23 pm ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Nearly three years later.

Turns out this one is harder than usual. You can patch one jump for the bioslock, but then there's a serial entry and I haven't yet figured out the algo.

So let's go another way.

The EXE files.

They seem at first glance to be ZIP SFXes. Except they have no magic numbers related to ZIPs in them.

That's because Compaq decided to modify the ZIP magic numbers, and swap around two of the lengths in a couple of the substructures.

Given that the ZIP SFX part has no modifications, QUICKRST.EXE obviously copies the files to hard disk, then fixes the ZIPs up and extracts them.

This PHP script can fix up these modified ZIP SFXes; it outputs standard ZIPs.

Code:
<?php

$f = file_get_contents($argv[1]);
$f = substr($f,0x3bf4);
$offset = 0;
$length = strlen($f);
while ($offset < $length) {
   $magic = substr($f,$offset,4);
   switch ($magic) {
      case "JT\x04\x03":
         $f = substr($f,0,$offset) . "PK\x03\x04" . substr($f,$offset + 4);
         $offset += 18;
         $complen = unpack('V',substr($f,$offset,4));
         $complen = end($complen);
         $offset += 8;
         $f = substr($f,0,$offset) . substr($f,$offset+2,2) . substr($f,$offset,2) . substr($f,$offset + 4);
         $lens = unpack('vfn/vex',substr($f,$offset,4));
         $offset += 4 + $lens['fn'] + $lens['ex'] + $complen;
         break;
      case "TJ\x02\x01":
         $f = substr($f,0,$offset) . "PK\x01\x02" . substr($f,$offset + 4);
         $offset += 28;
         $f = substr($f,0,$offset) . substr($f,$offset+2,2) . substr($f,$offset,2) . substr($f,$offset + 4);
         $lens = unpack('vfn/vex/vco',substr($f,$offset,6));
         $offset += 14;
         $reloff = unpack('V',substr($f,$offset,4));
         $reloff = pack('V',(end($reloff) - 0x3bf4));
         $f = substr($f,0,$offset) . $reloff . substr($f,$offset+4);
         $offset += 4 + $lens['fn'] + $lens['ex'] + $lens['co'];
         break;
      case "TJ\x06\x05":
         $f = substr($f,0,$offset) . "PK\x05\x06" . substr($f,$offset + 4);
         $offset += 16;
         $reloff = unpack('V',substr($f,$offset,4));
         $reloff = pack('V',(end($reloff) - 0x3bf4));
         $f = substr($f,0,$offset) . $reloff . substr($f,$offset+4);
         $offset += 4;
         $colen = unpack('v',substr($f,$offset,2));
         $offset += 2 + end($colen);
         break;
      default:
         throw new Exception("wtf unknown magic ".$magic." at offset ".($offset + 0x3bf4));
   }
}

file_put_contents($argv[1].".fixed.zip",$f);


To use it, assuming you have PHP in your PATH, you can do something like this from the extracted FINAL\VERC163A\UNZIPNOW and FINAL\VERC163A\UNZIPLTR folders:

Code:
for %s in (*.exe) do php FixZip.php %s


Then you'll get a pile of zips you can shove into another iso, unzip them all to your drive image (all from UNZIPNOW and one from UNZIPLTR), and then sys c: from a DOS 7.0 boot floppy. Haven't tried this yet, but I see no reason why it wouldn't work.

I'd like to use QUICKRST in the future, maybe someone can help with the serial algo? It seems to do something with the entered string then query the db. I've been meaning to maybe set up winice or windbg's ntvdm debugging to work on it more, but never had the time.

Author:  mkbea1985 [ Tue Sep 13, 2016 10:55 pm ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Didn't see your post immediately thanks for your your effort, did you create the php script yourself or did you get it from somewhere?

Author:  traderjoel [ Fri Oct 18, 2019 8:19 pm ]
Post subject:  Re: [OFFER] Compaq Presario 9548 Restore cd

Hey guys,

This is 6 years later from the original post, but I was able to overcome the BIOS lock and the serial checks. Hopefully this post will also shed some insight into the serial numbers.

I downloaded the restore CD for Compaq Presario 9548 Restore CD (1995) from:
https://archive.org/download/BetaArchiv ... ia_iso.rar

There's a powerpoint slide that explains the serial number format:
https://community.hpe.com/hpeb/attachme ... 274338.ppt

You can open the .db files in \DATABASE with Paradox dbase Reader:
https://www.softpedia.com/get/Internet/ ... ader.shtml

----

The original .ISO MD5 is: A10BA4333AAC42AC77F2FC7212DB336E

To remove the BIOS lock, patch the downloaded ISO at file offset 0x16AEE6 by changing byte 75 to EB.

The patched .ISO MD5 is: 0852FD7CCAABEBA6EC7CF19FAACD84B6

Use the following serial number: D545HSA90018

Note that since this is from year 1995, the second character in the serial is a 5, corresponding to the year. Also note the Family Code HSA9 within the serial.

I got the family code from the CD by first finding the SKU for Presario 9548 from \DATABASE\SKUMODEL.DB. The SKU is 213950-007. Next, match this SKU with the family code in \DATABASE\FAMSKU.DB. It matches to HSA9. This is what you put within the serial number.

I hope this helps.

Page 1 of 1 All times are UTC [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/