Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra credit #3

Open
Ingramz opened this issue Jan 9, 2015 · 4 comments
Open

Extra credit #3

Ingramz opened this issue Jan 9, 2015 · 4 comments

Comments

@Ingramz
Copy link
Contributor

Ingramz commented Jan 9, 2015

Create a pbsetup-like program that can construct all those files from htm-s like what pbsetup does. Maybe this can help the archiving effort a little bit.

@Ingramz
Copy link
Contributor Author

Ingramz commented Jan 9, 2015

To clarify the situation: files can be constructed offline, however it seems to rely on some magic inside pbsetup.

@Ingramz
Copy link
Contributor Author

Ingramz commented Jan 24, 2015

htm file header

  1. matches regex <html><body><p>S([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) ([^<]+)<p>
  2. second capture group contains the size of assembled binary in hexadecimal

@Ingramz
Copy link
Contributor Author

Ingramz commented Jan 24, 2015

htm file body is zlib data in hexadecimal

@Ingramz
Copy link
Contributor Author

Ingramz commented Jan 25, 2015

in pbsecsv file, the F entry syntax:
<p> F <type=C|A|S> <platform=V|W|K|L|M> <ver=INT> <uncompressed sz=HEX> <binary md5=HEX> <binary md5 without first byte=HEX>

in <platform><type>00<ver>.htm file syntax:
<html><body><p>S<compressed sz=HEX> <uncompressed sz=HEX> <compressed binary md5=HEX> <compressed binary md5 without first byte=HEX> <random file name>(<p><zlib data HEX>)+</body></html>

to extract ZLIB, HEX has to turned into binary format.

EXT = {w=>so,w=>dll,v=>d64...}

pb/dll/<platform><type>00<ver>.EXT contains extracted file from its similarily named htm file in pb/htm folder.

After that files are copied:
S type files into pb/pbsv.EXT
C type files into pb/pbcl.EXT and pb/pbcls.EXT
A type files into pb/pbag.EXT and pb/pbags.EXT

if there is no file for a certain platform, then the checksums in pbsv refer to the htm file, not the file that is contained within htm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant