Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reverse Engineering APIs
Search
mikz
May 30, 2014
Technology
1
530
Reverse Engineering APIs
Hacking Sonos and Bicing APIs with APItools.
ApiDays
mikz
May 30, 2014
Tweet
Share
Other Decks in Technology
See All in Technology
業務ヒアリングと知識の呪い
tamai_63
0
270
スクラム導入の舞台裏:QAエンジニアがスクラムマスターになるまで
bubo1201
0
170
入門 バックアップ
ryuichi1208
18
6.5k
ADRを運用して3年経った僕らの現在地
onk
PRO
10
4.8k
【shownet.conf_】放送局とShowNetが共創する、未来の放送システム ~Media over IP 特別企画の裏側~
shownet
PRO
0
330
How CERN serves 1EB of data via FUSE
ennael
PRO
0
16k
テストコードの品質を客観的な数値で担保しよう〜Mutation Testのすすめ〜
ysknsid25
11
3.1k
過去のインプットとアウトプットを振り返る
diggymo
0
110
LINEヤフー新卒採用 コーディングテスト解説 実装問題編
lycorp_recruit_jp
1
12k
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
1
1.9k
第45回 MLOps 勉強会 - ML Test Score を用いた機械学習システムの定量的なアセスメント
masatakashiwagi
3
300
PREEMPT_RT over the years
ennael
PRO
0
350
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
7
570
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
How to Think Like a Performance Engineer
csswizardry
16
1k
Ruby is Unlike a Banana
tanoku
96
11k
GitHub's CSS Performance
jonrohan
1030
450k
Fireside Chat
paigeccino
32
3k
Designing Experiences People Love
moore
138
23k
Code Review Best Practice
trishagee
62
16k
Speed Design
sergeychernyshev
22
480
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Transcript
Reverse Engineering APIs Raimon Grau & Michal Cichra 3scale
Inspecting APIs github.com/kidd & github.com/mikz 3scale
Debugging APIs
[email protected]
&
[email protected]
3scale
APIs Everywhere
Get in touch!
[email protected]
Cases of study • ‘Hidden’ API:
Sonos • Combining APIs: Bicing on steroids
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Get in touch!
[email protected]
Sonos
Demotime!
Yay! :) or nay :(
Get in touch!
[email protected]
What else you could do? •
Transfer song from Spotify to the Sonos • Backup playlists • Stream the music to remote locations • Vote the songs added to the queue
Get in touch!
[email protected]
Case 2: Api aggregation Bicing +
Google Maps Source: Carlos Mejía Greene https://www.flickr.com/photos/carlitos/3101121106/ CC BY-NC-SA 2.0
Get in touch!
[email protected]
Improvements • Reduce transfer size •
Reduce roundtrips • Improve accuracy by getting info from multiple sources • Improve API interface
Get in touch!
[email protected]
Api Aggregation Mobile app Middleware Web
APIs requests responses
Get in touch!
[email protected]
Api Aggregation Mobile app Middleware Web
APIs requests responses http://techblog.netflix.com/2013/01/optimizing-netflix-api.html
Demotime!
Get in touch!
[email protected]
How we improved? Size Savings Response
time Original XML 131k ~0.7s JSON 80k 39% ~0.7s JSON with distances 91k 30% ~0.7s nearest 10 5k 96% ~0.8s
Get in touch!
[email protected]
What APIs to combine? Hue +
Google Calendar Google Maps + Foursquare Sonos + Last.fm Dropbox + Github Almost any, actually
Get in touch!
[email protected]
What do we get from it?
• As hackers we like to know what’s under the hood • Cross API • We can ‘discover’ hidden APIs. :) • It’s fun! • We can improve performance by aggregating multiple calls.
Get in touch!
[email protected]
Special Treat Primavera Sound Festival 2014
fake apps on Google Play Store real iOS app with a twist
Thank You and Happy Hacking! www.apitools.com @apitools -
[email protected]
[email protected]
/
[email protected]