All Projects → kendfinger → AppleCache

kendfinger / AppleCache

Licence: other
Apple Content Cache Reverse Engineering

Programming Languages

dart
5743 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to AppleCache

punic
Punic is a remote cache CLI built for Carthage and Apple .xcframework
Stars: ✭ 25 (-69.51%)
Mutual labels:  apple, cache
Rome
Carthage cache for S3, Minio, Ceph, Google Storage, Artifactory and many others
Stars: ✭ 724 (+782.93%)
Mutual labels:  apple, cache
eloquent-cache
Easily cache your Laravel's Eloquent models.
Stars: ✭ 55 (-32.93%)
Mutual labels:  cache
magento2-LiteSpeed LiteMage
LiteMage Cache Extension for Magento 2
Stars: ✭ 27 (-67.07%)
Mutual labels:  cache
Geek Blog
基于Vue+Nuxt.js服务器渲染(SSR)搭建的个人博客系统
Stars: ✭ 33 (-59.76%)
Mutual labels:  apple
Core-NFC-Example
An example project which demonstrate the usage of iOS 11 Core NFC framework.
Stars: ✭ 19 (-76.83%)
Mutual labels:  apple
ManuFuzzer
Binary code-coverage fuzzer for macOS, based on libFuzzer and LLVM
Stars: ✭ 118 (+43.9%)
Mutual labels:  apple
transitory
In-memory cache with high hit rates via LFU eviction for Node and browsers. Supports time-based expiration, automatic loading and metrics.
Stars: ✭ 24 (-70.73%)
Mutual labels:  cache
sCache
Kolay PHP Cache sistemi sadece 1 satırda cache sisteminizi kurun.
Stars: ✭ 50 (-39.02%)
Mutual labels:  cache
cachepot
cachepot is `sccache` with extra sec, which in turn is `ccache` with cloud storage
Stars: ✭ 106 (+29.27%)
Mutual labels:  cache
node-backend-template
A template for NodeJS backend projects
Stars: ✭ 19 (-76.83%)
Mutual labels:  cache
ecommerce
(Live Link) Extensive ecommerce site with vendors, mods & ability to add to cart without being logged in. Check out v4!
Stars: ✭ 13 (-84.15%)
Mutual labels:  cache
react-native-permissions-modal
Awesome & Fully Customizable Permissions Modal for React Native
Stars: ✭ 26 (-68.29%)
Mutual labels:  apple
apple-watch-awards
⌚️ APPLE WATCH LIMITED EDITIONS AWARDS
Stars: ✭ 29 (-64.63%)
Mutual labels:  apple
Pomosh-iOS-watchOS
🍅Pomosh is your next awesome Pomodoro Technique assistant on 📱iOS and ⌚️ WatchOS 🙌. It's native and lightweight. Uses SwiftUI. has a nice tomato icon and also ready for macOS too🔥
Stars: ✭ 50 (-39.02%)
Mutual labels:  apple
WWDC
🌈 𝐖𝐖𝐃𝐂 𝐒𝐞𝐬𝐬𝐢𝐨𝐧 𝐍𝐨𝐭𝐞𝐬 👩🏻‍💻 ✨
Stars: ✭ 31 (-62.2%)
Mutual labels:  apple
DTC
DTC is a high performance Distributed Table Cache system designed by JD.com that offering hotspot data cache for databases in order to reduce pressure of database and improve QPS.
Stars: ✭ 21 (-74.39%)
Mutual labels:  cache
Meme-Maker-Mac
Meme Maker open source macOS app made in Swift.
Stars: ✭ 59 (-28.05%)
Mutual labels:  apple
stash
A Go package for disk-based blob cache
Stars: ✭ 14 (-82.93%)
Mutual labels:  cache
drive-mobile
internxt.com
Stars: ✭ 43 (-47.56%)
Mutual labels:  apple

Apple Cache

This is a reverse engineering attempt of the Apple Content Caching system.

The goal of this project is to challenge myself in a serious reverse engineering attempt while also creating something I want to make: an Apple Content Cache that works on Linux servers.

NOTE: AssetCacheTool is a continuation of some of this work.

A Note to Apple

Dear Apple,

I am a good faith actor and due to the design of cache, I do not believe this should cause any harm. Should you consider otherwise, contact me via my email: [email protected]

Thanks, Kenneth

A Note to Users

Please do not abuse the content you see here. I am trying to do this in good faith and do not condone any malicious use of the Apple Content Cache system, whatever that may be.

Content Caching

Content Caching is available in the Sharing section of System Preferences. It is used to cache content on your local network for public Apple content or iCloud content. The /usr/libexec/AssetCache/AssetCache is responsible for a majority of the work. It has an HTTP server that has an API that allows fetching and uploading of content from the server.

Research

Additionally, packet captures are provided in the captures directory.

Methodology

The work here was done by using Charles Proxy and Frida.

The tools/frida-ssl-pin.js file is a Frida script that can attach to any macOS process and disable all SSL verification and SSL certificate pinning. This has allowed me to deeply examine the requests going to Apple's servers. This script is likely useful for many other use cases. If anyone else uses it, I'd love to hear about how it was used (I'm a super huge nerd and am quite interested in reverse engineering). Note that SIP will need to be disabled in order to correctly use it.

I also have a modified Frida Python script which targets launchd to inject the SSL pinning and verification disable script. Since AssetCache is spawned by launchd, you can attach Frida to launchd, and wait spawn AssetCache via the service. The script is located at: tools/frida-ssl-pin-target.py, just do pip3 install frida frida-tools and run the script.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].