derbycon 2013
TRANSCRIPT
![Page 1: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/1.jpg)
Raspberry Pi, Cars, and AppleTV
David Schuetz (@DarthNull) DerbyCon 3.0 September 28, 2013
![Page 2: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/2.jpg)
Requisite Background
• Senior Consultant at Intrepidus Group –Wholly owned by NCC Group
• Mobile app and OS testing and research –I focus on iOS –Others have more Android focus
• Including three other guys presenting at this very con
• Also web app testing, pen testing, physical security reviews, etc.
• Interested in any of that? We’re also hiring! :)
![Page 3: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/3.jpg)
Remember these?
![Page 4: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/4.jpg)
Nostalgia can't compete
![Page 5: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/5.jpg)
Minecraft in the Car
• My boys LOVE minecraft • Just build, explore, tear down...
–(and lately, shoot chickens) • This past spring, had a great idea:
–Let’s put an access point in the car!
• Then...I got a little feature crazy. • Quick overview of some features • Deep dive into integration with Apple TV
![Page 6: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/6.jpg)
What do you need
![Page 7: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/7.jpg)
Software• Hardware:
–Logitech WUSB54GC –By luck, had one in a drawer
• Software: –iw: to verify your adapter will work –udhcpd: to provide IPs for clients –hostapd: set up access point
• Not worrying about NAT, FW, etc. –For now, it’s a standalone (isolated) car network
• Step by step guides: –learn.adafruit.com –Pi-Point.co.uk
![Page 8: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/8.jpg)
Tired of lugging DVDs?
![Page 9: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/9.jpg)
Let's put movies on rPI
![Page 10: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/10.jpg)
Walk through sfwe
• minidlna: the DLNA server itself • /etc/minidlna.conf: media folder, network
address, etc. • Content: Whatever your clients can display
–Using iOS devices -- m4v, etc. (Handbrake FTW) • Clients: Whatever works
–All kinds of DLNA clients on iOS –Most are... clunky. –Should also work with DLNA TVs
• But they might be a bit large for the car
![Page 11: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/11.jpg)
In Action!
![Page 12: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/12.jpg)
And when the battery dies?
![Page 13: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/13.jpg)
Media player on rPI!
![Page 14: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/14.jpg)
Not that simple...
• Several pre-built, dedicated images: –OpenELEC –Raspbmc –XBian
• Fast, clean, simple –Not as flexible -- replaces whole OS
• XBMC packages exist –michael.gorven.za.net/raspberrypi/xbmc
• Control with XBMC web interface
![Page 15: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/15.jpg)
Metadata didn’t like
• XBMC grabs program info “live” • Not the iTunes tags I painstakingly added • Sometimes, VERY wrong. • Reading iTunes tags is a royal pain • Many old and unmaintained libraries • During this work, settled on a pair of utilities
–But couldn’t get them running on the rPI
• Someone: Please fix this!
![Page 16: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/16.jpg)
Very low volume
• Had to tweak mixdown parameters
![Page 17: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/17.jpg)
...and at the rental house?
![Page 18: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/18.jpg)
Bring the AppleTV!
• It’s small • It’s got Netflix • Many rental houses have WiFi • But now I need to bring an iTunes server...
![Page 19: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/19.jpg)
Let's put rPI on AppleTV
![Page 20: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/20.jpg)
AppleTV Channels
• Not compiled binaries • Interface defined in XML • Modified in JavaScript on client • Fetched real time over the Internet
![Page 21: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/21.jpg)
Sneaking in
• Point DNS to your server • Intercept trailers.apple.com • Send your own XML content • Used by PlexConnect, others
![Page 22: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/22.jpg)
Some limitations
• Can't change the icon or name • Only do this for one external app at a time
–Unless you hijack additional channels • Not great for externally hosted channels • You lose the hijacked channel
–I sorta like the Trailers app • Changes by Apple can break it
–Early September: changed to https for key files
![Page 23: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/23.jpg)
• Netflix, Vimeo, MLB, SkyNews, etc. • Must be working directly with Apple • Does Apple develop the apps? • If not.... • ...how do they test their code?
Official Channels
![Page 24: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/24.jpg)
Use a simulator?
• Not sure one exists • But everything is in XML • And I actually *like* XSLT (yes, I’m the one) • So....now I can simulate AppleTV
–Ugly “proxy” hack –Fetches remote pages –Applies XSLT, uses CSS for layout –Returns to browser
• Works in Chrome, better in Safari • Should be a dedicated app
![Page 25: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/25.jpg)
XML + XSLT = Hackalicious
![Page 26: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/26.jpg)
How do you test ON DEVICE?
• Even a perfect simulator is just a simulator • Essential to test on the device itself • Can you side-load apps via USB?
–Direct filesystem upload would’ve been noticed –Profile-based install? MDM?
• Or maybe a hidden menu somewhere
• Let’s get a jailbroken ATV and start hacking!
![Page 27: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/27.jpg)
35 years of feature finding
• 1978: key combinations and algebra • 1981: hexdump, disassembler, paper • 1993: strings command and dwrites • 2013: strings, IDA, mobileconfig
![Page 28: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/28.jpg)
Close look at AppleTV
• Been working with iOS for a while now • First time using a jailbroken AppleTV • Plex hack inspired to dig deeper • Looked closely at AppleTV.app • Found quite a few neat tricks
![Page 29: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/29.jpg)
Interesting Strings
• EnableAddSite • menu-title, menu-icon-url, root-url • loaded-via-addsite • AddProfile
![Page 30: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/30.jpg)
Application Settings
• Property list files • Page templates, app preferences • User credentials • App history
![Page 31: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/31.jpg)
Config settings
• Managed.Configuration framework –AllowedDefaults.plist
• EnableFeatureEnabler • PrintBitRate • UserDeviceName • HSDiagnosticsEnabled • EnableDPLogs
![Page 32: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/32.jpg)
Mobileconfig snippet
![Page 33: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/33.jpg)
Testing new settings
• Install profiles using Configurator app –Power-on with USB connected –Install profile –Disconnect, reboot
• Lots of keys to try - this’ll take forever
• How else can we load a profile?
![Page 34: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/34.jpg)
MDM, of course!
![Page 35: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/35.jpg)
Not supported
• Profile installed.... • ....but device wouldn't enroll • Can manually force a poll of MDM server • So rewrote my MDM server to fuzz profiles
![Page 36: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/36.jpg)
Fuzzer Engaged
• MDM sends new profile with each poll • Changes key, iterates through values
–That which doesn’t produce an error is interesting • Fuzzing: Worked! • Setting testing: Not so much.
–AppleTV profile daemon is very forgiving –Hardly throws any errors –FreeMoviesForLife = True is accepted
• (Doesn't do anything though)
![Page 37: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/37.jpg)
Let's go IDA
• Dumped a 238 MB decompiled C file • Slowed Sublime editor to a crawl • Found some fun stuff
![Page 38: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/38.jpg)
Hidden Remote Tricks
SettingsGeneralViewController brEventAction
We’re in the General menu, and pushed a remote button
![Page 39: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/39.jpg)
Hidden Remote Tricks
Get the number of the item the cursor is on.
Adjust in case there are hidden menu items displayed.
![Page 40: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/40.jpg)
Hidden Remote Tricks
v17 = [v4 remoteAction]
What did we just do?
![Page 41: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/41.jpg)
Hidden Remote Tricks
if v17 (action) = 10 (“Play” button) ... and v18 (current row) = 9 (“Send data to Apple” item)... ... then go to the “showInstalledProfiles” screen.
![Page 42: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/42.jpg)
Hidden Remote Tricks
• SettingsAboutViewController –Using WiFi and remoteAction=3
• toggleWiFiDetails
• SettingsGeneralViewController –Highlighted “About” item
• remoteActions: 7, 7, 6, select: toggleRetailMode –Highlighted “Send Data to Apple” item
• remote action 7: toggleShowInverseDeviceID • remote action 10: showInstalledProfiles
![Page 43: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/43.jpg)
Up-arrow: Channel/BSSID
![Page 44: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/44.jpg)
Right arrow: Diag ID
![Page 45: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/45.jpg)
• Highlight “Send Data to Apple” • Hit “Play”
Add Profile
![Page 46: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/46.jpg)
PrintBitRate = True
![Page 47: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/47.jpg)
• HSDiagnosticsEnabled = True • Menu appears in “Computers”
Home Sharing Diagnostics
![Page 48: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/48.jpg)
EnableFeatureEnabler
• Some channels have a “Feature” code • Maybe to preview new official channels?
![Page 49: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/49.jpg)
MITM Proxy
• Build a Wi-Fi configuration profile –iPhone Configuration Utility or Configurator
• Include an HTTP proxy • Install (while still on wired ethernet) • Unplug ethernet, now you’re MITM • iTunes links break though
–Tried bypassing certificate pinning –Haven’t yet tried fake “*.apple.com” certs –Breaks main screen -- hence load-and-switch
![Page 50: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/50.jpg)
EnableAddSite
• But what does EnableAddSite do? • Secret started leaking out:
–SkyNews video from June 19 –Announcing AppleTV app –Shows AppleTV screen, with:
• WWDC app (so filmed in early to mid June) • SkyNews app • Something else interesting...
![Page 51: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/51.jpg)
Sky news image
![Page 52: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/52.jpg)
EnableAddSite
• Key by itself doesn’t work • Something else is happening • Where is the code that tests for that key... • ...what could it be named.....?
![Page 53: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/53.jpg)
Oh. There it is.
![Page 54: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/54.jpg)
What does it MEAN?!?
v3 = [BRPreferences sharedFrontRowPreferences]
Get preferences list.
![Page 55: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/55.jpg)
What does it MEAN?!?
v4 = [v3 objectForKey: <addr>]
Look for key “F2BE6C81-66C8-4763-BDC6-385D39088028”
![Page 56: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/56.jpg)
What does it MEAN?!?
if [v4 isKindOfClass: [NSDictionary class]] ...
Did the key return a dictionary?
![Page 57: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/57.jpg)
What does it MEAN?!?
v6 = [v4 boolForFeedKey: <addr> defaultValue: 0]
Look for boolean value “EnableAddSite”
![Page 58: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/58.jpg)
What does it MEAN?!?
return v6
If the boolean was true, then, yes, AddSite is Enabled.
![Page 59: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/59.jpg)
Mobileconfig snippet
![Page 60: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/60.jpg)
Adding a site
• After loading the profile, restart AppleTV • Click on Add Site • Enter a “vendor bag” (ends with bag.plist)
–Or enter the app’s root URL and name individually • Doesn’t have to be an app you developed...
![Page 61: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/61.jpg)
Sneaking an early peak
• August 21: Rumors of Vevo app on AppleTV • Try multiple URLs:
–atv.vevo.com, appletv.vevo.com, etc. –appletv.vevo.com gives a server error –Add /bag.plist to URL - Success!
• Add to AppleTV • Total elapsed time: Like a minute.
![Page 62: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/62.jpg)
Loaded beta app
![Page 63: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/63.jpg)
What is bag.plist?
• Property list file, defines the “app” • Screensaver settings • Menu title, merchant name, root URLs • Examples: hunt for existing ATV feeds
(trailers, Qello, etc.)
![Page 64: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/64.jpg)
How is an app built?
• XSD schema on AppleTV filesystem –/Applications/AppleTV.app/atv.xsd
• Look at existing apps –Trailers app for example
• Google search for AppleTV and bag.plist –Found unfinished Fox News app –Linked to S3 copy of sample AppleTV app –Newer version in Plex forum
![Page 65: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/65.jpg)
AppleTV sample-xml App
![Page 66: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/66.jpg)
Demo
![Page 67: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/67.jpg)
Demo: EnableAddSite
![Page 68: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/68.jpg)
Demo: Success!
![Page 69: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/69.jpg)
Demo: Add new channel
![Page 70: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/70.jpg)
Demo: Success!
![Page 71: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/71.jpg)
Demo: We got movies!
![Page 72: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/72.jpg)
Demo: Movie Detail
![Page 73: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/73.jpg)
Demo: Not just movies
![Page 74: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/74.jpg)
Demo: Pick a conference
![Page 75: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/75.jpg)
Demo: Pick a year
![Page 76: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/76.jpg)
Demo: Talks and abstracts
![Page 77: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/77.jpg)
Limitations
• Can't remove channels • Sometimes a little flaky • Logging setting is chatty
–General facility -- includes all apps –Might include credentials or other sensitive info
• Adding feeds is manual - can't push a profile • Limited to AppleTV interface
–Not a generic SDK –But still some control using JS -- see sample app –Weather Channel app uses custom layouts
![Page 78: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/78.jpg)
Security concerns
• Log leakage • All channels run in same context
–Break out of js sandbox –Read credentials for other feeds
• Finding unreleased apps
![Page 79: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/79.jpg)
What will Apple do?
• Good job. Have fun. Don't bitch if it breaks.
• D'oh. Next update will need a signed profile.
• Coming soon: an official channel store!
![Page 80: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/80.jpg)
What DID Apple do?
• iOS 7 (ATV 6.0) released last week • Gone:
–AllowedDefaults.plist • Looks like a lot of interesting bits added:
–resource:// URL type –FeedResource.archive - app format? –Full Add Site Manager - Add, list, delete sites –Site Verification - perhaps to limit unauthorized use –Sounds awfully close to a “channel store” interface
![Page 81: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/81.jpg)
But does it still WORK?
• Not Yet. –sad panda. sad trombone. etc.
• All the custom profile-enabled settings broke –Not just Add Site
• Suspect it’s a question of profile details –Was PayloadType: com.apple.frontrow –Now... ???
• Hopefully this shouldn’t take community too long to figure out...
![Page 82: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/82.jpg)
New icon!
• Just appeared on my 5.2 and 5.3 devices • Was just a blank tile before • Was there always a hook somewhere?
–Apple just finally put the icon on their server • Maybe finally getting ready for public channel
management?
![Page 83: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/83.jpg)
What will hackers do?
• Amazon Prime Video –Please?
• Educational Videos –NASA, Ted, etc. –Instructables, CBT
• Other networks –PBS, Discovery
• Chromecast clone
![Page 84: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/84.jpg)
What’s Next?
![Page 85: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/85.jpg)
Future ideas
• Recognize home AP and bind there –Automatic sync –Built-in battery, automatic shutdown after sync
• Cellular hotspot –Service to all the kids’ iPod-class devices
• Minecraft server :)
![Page 86: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/86.jpg)
Improved Hardware
• Added 120 GB external SSD • Better hardware
–Louder output volume –Faster processor –SATA –On-board WiFI
• Hard to find mix of everything –Especially SATA, and composite + HDMI video –Opportunity for Yet-Another-Single-Board-System
![Page 87: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/87.jpg)
Conclusion
• Fun little toy • Used it on a couple of trips already • rPI capable, but a little limited • Excited about potential with AppleTV • Really hope we see official (and DIY) channel
store soon
![Page 88: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/88.jpg)
Further Reading
• Intrepidus Group blog: –http://intrepidusgroup.com/insight/2013/09/rpi-atv/
• Github Site: –https://github.com/intrepidusgroup/rpi-atv
![Page 89: DerbyCon 2013](https://reader035.vdocuments.mx/reader035/viewer/2022062311/58a039fd1a28aba44d8bdae1/html5/thumbnails/89.jpg)
Thanks!