Understand your Mac and iPhone more deeply by tracing the evolution of Mac OS X from prelease to Swift. John Siracusa delivers the details.
You've got two main options:
| [ | |
| { | |
| "url": "https://updates.cdn-apple.com/2023SummerSeed/patches/042-21091/60572AF0-9BC3-465F-89ED-77117194CB26/com_apple_MobileAsset_SoftwareUpdate/3df121022bd578846478faa25a4dcf3055396954.zip", | |
| "build": "21N5207g", | |
| "filename": "iBEC.n301.RELEASE.im4p", | |
| "kbag": "AB7893B981E44BFF298328C89C826F8BA6EF1A7ADC80DB156C9D55D9F4E27E8AD2CC21AFA42A41E1392B57E9FE90D992", | |
| "key": "34b218667cd03eb93e073b9b3bca4a865b20f130550a800b2aa2c1c2348041865cee47db7e3bcda739d05adde9f9f716" | |
| }, | |
| { | |
| "url": "https://updates.cdn-apple.com/2023SummerSeed/patches/042-21091/60572AF0-9BC3-465F-89ED-77117194CB26/com_apple_MobileAsset_SoftwareUpdate/3df121022bd578846478faa25a4dcf3055396954.zip", |
| [ | |
| { | |
| "fw": "UniversalMac_11.0.1_20B28_Restore.ipsw", | |
| "file": "LLB.j274.RELEASE.im4p", | |
| "kbag": "3267519BE210D18C937A7180542EE2D66F5FBE37A0EB6BFE632B86B75C14392F2001BC3F383A7FF966F968BAB2EE484F", | |
| "key": "44a6f8571fa811690914ba053f1740400cc0931c70bd8c5a1374dd12783d84db61e89fa68a6ac4349c04b319138e7bc9" | |
| }, | |
| { | |
| "fw": "UniversalMac_11.0.1_20B28_Restore.ipsw", | |
| "file": "LLB.j293.RELEASE.im4p", |
| // Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved. | |
| // | |
| // Permission is hereby granted, free of charge, to any person obtaining a copy | |
| // of this software and associated documentation files (the "Software"), to deal | |
| // in the Software without restriction, including without limitation the rights | |
| // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| // copies of the Software, and to permit persons to whom the Software is | |
| // furnished to do so, subject to the following conditions: | |
| // | |
| // The above copyright notice and this permission notice shall be included in |
| aback | |
| abase | |
| abate | |
| abbey | |
| abbot | |
| abhor | |
| abide | |
| abled | |
| abode | |
| abort |
| #include <stdio.h> | |
| #include <stdint.h> | |
| #include <stdlib.h> | |
| #include <mach/mach.h> | |
| #include <CommonCrypto/CommonCrypto.h> | |
| #include <ctype.h> | |
| void hexdump(void *ptr, int buflen) { | |
| unsigned char *buf = (unsigned char*)ptr; | |
| int i, j; |
| /* | |
| This file contains definitions used in the Hex-Rays decompiler output. | |
| It has type definitions and convenience macros to make the | |
| output more readable. | |
| Copyright (c) 2007-2022 Hex-Rays | |
| */ |
| #include <IOKit/IOKitLib.h> | |
| #include <mach/mach.h> | |
| #include <stdio.h> | |
| #include <stdint.h> | |
| #include <stdlib.h> | |
| #include <ctype.h> | |
| void hexdump(void *ptr, int buflen) { | |
| unsigned char *buf = (unsigned char*)ptr; | |
| int i, j; |
| # copied from https://github.com/tulir/mautrix-telegram/blob/master/mautrix_telegram/util/parallel_file_transfer.py | |
| # Copyright (C) 2021 Tulir Asokan | |
| import asyncio | |
| import hashlib | |
| import inspect | |
| import logging | |
| import math | |
| import os | |
| from collections import defaultdict | |
| from typing import Optional, List, AsyncGenerator, Union, Awaitable, DefaultDict, Tuple, BinaryIO |
History