SlideShare a Scribd company logo
1 of 20
Download to read offline
A Sneak Peek Into
Android Internals

  GDG Dec-2012
       By Yoav Weiss
MobileSpaces Founder & CTO
What we're going to talk about

● Virtualizing Android
● Understanding Android internals
  through dynamic tracing
What is MobileSpaces

● Solving BYOD through a unique
  virtualization platform
● Any app, any device, no root(!)
● Funded by Accel Partners
Short demo of
Android Security Model in a nutshell
● The Android security model is based on linux
  kernel separation
● Apps and services run in usermode
● Each app is assigned a unique uid and a
  home directory
● Android takes advantage of linux gids
● Android permissions are enforced by uid
  rather than package
Application Initialization Process
 Step 1 - ActivityManager asks the System Server to start
         Activity/Service/Receiver/Provider




 * ActivityManager is actually a service running in the system_server process
Application Initialization Process
 Step 2 - System Server checks which package provides that functionality
Application Initialization Process
 Step 3 - System Server tells Zygote to load the package
Application Initialization Process
 Step 4 - Zygote forks and creates the new application process
Application Initialization Process
 Step 5 - The application is set up:
   ●   Check permissions
   ●   Set gid
   ●   Set uid
   ●   Load the package
Application Initialization Process
 Step 6 - The application starts listening for instructions from
         ActivityManager (Activity lifecycle messages)
Virtualizing Android
Since Android apps and services run in
usermode, they must interact with the world via
syscalls.
Binder Flow Example
Step 1 - Camera app asks MediaServer to access the camera
Binder Flow Example
Step 2 - MediaServer asks system_server if camera app is allow to access
        the camera
Binder Flow Example
Step 3 - system_server grants the permission
Binder Flow Example
Step 4 - MediaServer opens the camera driver and configures it
Binder Flow Example
Step 5 - MediaServer returns the file descriptor to the camera app which
can now use the camera
Live Demos Using the

                 platform
Summary
● We virtualized Android. No root required
● We used the VM to peek into the system


MobileSpaces is hiring!
Visit us at: http://www.mobilespaces.som
Contact us: jobs@mobilespaces.com
Q&A

More Related Content

Viewers also liked

Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBGreat Wide Open
 
Introduction to App Engine Development
Introduction to App Engine DevelopmentIntroduction to App Engine Development
Introduction to App Engine DevelopmentRon Reiter
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and ResourcesRon Reiter
 
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...Ron Reiter
 
HTML5: The next disruptive technology
HTML5:  The next disruptive technologyHTML5:  The next disruptive technology
HTML5: The next disruptive technologyLinda Jacobson
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5Ron Reiter
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Introrobinb123
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3Gopi A
 

Viewers also liked (8)

Building Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDBBuilding Your First App: An Introduction to MongoDB
Building Your First App: An Introduction to MongoDB
 
Introduction to App Engine Development
Introduction to App Engine DevelopmentIntroduction to App Engine Development
Introduction to App Engine Development
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
 
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
 
HTML5: The next disruptive technology
HTML5:  The next disruptive technologyHTML5:  The next disruptive technology
HTML5: The next disruptive technology
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3
 

Similar to Mobile Spaces

Android app developers in bangalore- thorsignia
Android app developers in bangalore- thorsigniaAndroid app developers in bangalore- thorsignia
Android app developers in bangalore- thorsigniacharan Teja
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App DevelopmentAbhijeet Gupta
 
Lecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewLecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewAhsanul Karim
 
Android Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentAndroid Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentBig Boxx Animation Academy
 
AN ANDROID APP FOR BUILDING STUDENT PROFILES
AN ANDROID APP FOR BUILDING STUDENT PROFILESAN ANDROID APP FOR BUILDING STUDENT PROFILES
AN ANDROID APP FOR BUILDING STUDENT PROFILESIRJET Journal
 
[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security WorkshopOWASP
 
Easy steps to develop android application (tutorial)
Easy steps to develop android application (tutorial)Easy steps to develop android application (tutorial)
Easy steps to develop android application (tutorial)Dewan Razib
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindiappsdevelopment
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorialSynapseindiappsdevelopment
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesNamita Mahajan
 
Mobile Applicaiton Development Unit 2.pptx
Mobile Applicaiton Development Unit 2.pptxMobile Applicaiton Development Unit 2.pptx
Mobile Applicaiton Development Unit 2.pptxnihitagrawal4
 
Android security in depth - extended
Android security in depth - extendedAndroid security in depth - extended
Android security in depth - extendedSander Alberink
 
Android application developement
Android application developementAndroid application developement
Android application developementSANJAY0830
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialDanish_k
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 

Similar to Mobile Spaces (20)

Android app developers in bangalore- thorsignia
Android app developers in bangalore- thorsigniaAndroid app developers in bangalore- thorsignia
Android app developers in bangalore- thorsignia
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Lecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewLecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick Overview
 
Android Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps DevelopmentAndroid Training in Chandigarh | Industrial Training in Android Apps Development
Android Training in Chandigarh | Industrial Training in Android Apps Development
 
AN ANDROID APP FOR BUILDING STUDENT PROFILES
AN ANDROID APP FOR BUILDING STUDENT PROFILESAN ANDROID APP FOR BUILDING STUDENT PROFILES
AN ANDROID APP FOR BUILDING STUDENT PROFILES
 
[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop[Wroclaw #1] Android Security Workshop
[Wroclaw #1] Android Security Workshop
 
Easy steps to develop android application (tutorial)
Easy steps to develop android application (tutorial)Easy steps to develop android application (tutorial)
Easy steps to develop android application (tutorial)
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorial
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorial
 
Android - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net TechnologiesAndroid - Workshop By Secure-Net Technologies
Android - Workshop By Secure-Net Technologies
 
Mobile Applicaiton Development Unit 2.pptx
Mobile Applicaiton Development Unit 2.pptxMobile Applicaiton Development Unit 2.pptx
Mobile Applicaiton Development Unit 2.pptx
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Android development beginners faq
Android development  beginners faqAndroid development  beginners faq
Android development beginners faq
 
Android security in depth - extended
Android security in depth - extendedAndroid security in depth - extended
Android security in depth - extended
 
Android application developement
Android application developementAndroid application developement
Android application developement
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 

Mobile Spaces