cormiertyshawn895 / Retroactive

Retroactive only receives limited support. Run Aperture, iPhoto, and iTunes on macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina. Xcode 11.7 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.
2.1k stars 114 forks source link

feature request : make iTunes 12.6.5.3 spoof UserAgent to reenable downloading Apps #100

Open Hammi71 opened 3 years ago

Hammi71 commented 3 years ago

Hi there,

I've just registered on GitHub and this is my first post. So please be indulgent.

It's not really an issue, but a maybe useful feature request : As some of you may already know, Apple changed kind of authorization-mechanism last march when downloading Apps with macOS-version of iTunes 12.6.5.3, so that downloading Apps stopped working. The windows-version isn't affected. In Mac Rumors - forum I found this threads/posts :

https://forums.macrumors.com/threads/apples-special-version-of-itunes-that-still-has-an-app-store-currently-incompatible-with-macos-mojave.2143244/post-28534466 https://forums.macrumors.com/threads/retroactive-mac-app-that-lets-you-run-aperture-iphoto-or-itunes-on-macos-catalina.2207898/post-28493323

Could it be possible to implement a patch in Retroactive to make the macOS-version of iTunes 12.6.5.3 use of TLS 1.2/1.3 to reenable the download-capability of Apps ? Maybe one could reverse-engineer the authorization-mechanims of the windows-version of iTunes 12.6.5.3 when downloading Apps.

Best regards, Marcus

cormiertyshawn895 commented 3 years ago

TLS is not related to the breakage, and enabling TLS 1.2 or 1.3 will not re-enable the ability to download iOS apps from iTunes. The server endpoint no longer responds to macOS clients, so the path forward are:

b0gdanw commented 3 years ago

The assumption was incorrect, iTunes 12.6 is actually using TLS 1.2. On macOS 10.13-10.16, it is still possible to purchase apps using iTunes 12.6, just the downloads fail. The Windows 32-bit version of iTunes 12.6, with working downloads, can be installed in Mojave using Wine. https://github.com/b0gdanw/iTunes/blob/master/Install_Windows32bit_iTunes12.6.5.3_in_Mojave.txt In Catalina, wine32on64 is needed. The Windows 64-bit version of iTunes crashes even in CrossOver.

Gcenx commented 3 years ago

@b0gdanw have you tested a recent version of wine64 with iTunes 12.6?

b0gdanw commented 3 years ago

@Gcenx Yes, Wine Staging and Wine Development 5.7. iTunes64Setup.exe installs without issues, when iTunes.exe is started it displays the license agreement then crashes: Unhandled exception: page fault on execute access to 0x00000000 in 64-bit code (0x0000000000000000).

Gcenx commented 3 years ago

@b0gdanw I was thinking something more recent like wine-staging-5.13, but Tunes crashes on launch and iTunes64 fails during installation.

Also couldn't get ether version running on wine-stable-5.0.1 or wine-crossover-19.0.1/CrossOver-19.0.2 (iTunes crashes on launch and iTunes64 fails during installation)

Hammi71 commented 3 years ago

Hi there,

month ago I started this issue with the, maybe wrong, approach involving TLS. Today I stumbled upon a new approach, where the iTunes - UserAgent is changed using Charles Proxy :

https://forums.macrumors.com/threads/apples-special-version-of-itunes-that-still-has-an-app-store-currently-incompatible-with-macos-mojave.2143244/post-29395229

The resulting question, if this could also be done using a patch, has already been asked there either :

https://forums.macrumors.com/threads/apples-special-version-of-itunes-that-still-has-an-app-store-currently-incompatible-with-macos-mojave.2143244/post-29577849

So I would like to repeat this question here.

Best regards, Marcus