Mac OS 9 Software Update: Difference between revisions

From Computers Wiki
Jump to navigationJump to search
(→‎XML-ish templates: Add log format)
(→‎XML templates: Add screenshot)
Line 10: Line 10:


== XML templates ==
== XML templates ==
[[Image:Software Update Engine 30090.png|thumb|right|Pieces of a possible request or response format]]

Hints at the data structures used for requests, responses, and logging.
Hints at the data structures used for requests, responses, and logging.



Revision as of 19:38, 25 September 2025

Scattered notes on reverse engineering how the Mac OS 9 Software Update system works.

URL?

In the Software Update Engine extension, resource ulsu ID = 128 has this URL:

Unfortunately, no samples of this XML file seem to be archived anywhere.

XML templates

Pieces of a possible request or response format

Hints at the data structures used for requests, responses, and logging.

Log format

From STR# ID = 20000, then prettyprinted. Caret-prefixed numbers are template placeholders.

<DOCUMENT>
    <VERSION>0</VERSION>
    <LOG>
        <DATE>^0</DATE>
        <NAME>^1</NAME>
        <VERSION>^2</VERSION>
        <STATUS>^3</STATUS>
    </LOG>
    <!-- additional log entries... -->
</DOCUMENT>

Network traffic?

I have not done any disassembly yet, so these notes come from poking around in ResEdit.

  • Files may have used binhex, StuffIt, and self-extracting archives.[1][2]
  • Though the baked-in URL is http://, the following are likely also supported: ftp://, https://, urlproxy: (?), and file:///.[3]

References

  1. Software Update Extension, resource STR#, ID = -20905 (Status Strings), string 14: "Debinhexing..."
  2. Software Update Extension, resource STR#, ID = 2110
  3. Software Update Extension, resource STR#, ID = -20902 (Subwoofer Schemes)