HybriDroid: Analysis Framework for Android Hybrid Applications

Size: px
Start display at page:

Download "HybriDroid: Analysis Framework for Android Hybrid Applications"

Transcription

1 HybriDroid: Analysis Framework for Android Hybrid Applications Sungho Lee, Julian Dolby, Sukyoung Ryu Programming Language Research Group KAIST June 13, 2015 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 1/45

2 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 2/45

3 Analyzing JavaScript Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 3/45

4 Analyzing JavaScript Web Applications Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 4/45

5 Analyzing JavaScript Web Applications in the Wild Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 5/45

6 Analyzing JavaScript Web Applications in the Wild (Mostly) Statically Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 6/45

7 Bittersweet ADB: Attacks and Defenses Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 7/45

8 Bittersweet ADB: Attacks and Defenses Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 8/45

9 Bittersweet ADB: Attacks and Defenses Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 9/45

10 Bittersweet ADB: Attacks and Defenses Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 10/45

11 Bittersweet ADB: Attacks and Defenses Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 11/45

12 Hey, You, Get Off of My UI Injection of Malicious Activities and Fragments to Control UI Flows Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 12/45

13 Motivation Many mobile platforms out there. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 13/45

14 Motivation Many mobile platforms out there. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 14/45

15 Motivation To support multiple platforms with native applications, need to implement one application per platform; need to repeat application development multiple times. Web applications cannot use device features. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 15/45

16 Motivation Hybrid applications could be one solution. Hybrid applications use both HTML5 code (HTML, CSS, and JavaScript) and native device features, such as a camera or accelerometer. Cross-platform tools to build hybrid applications: Apache Cordova, Appcelerator Titanium, Xamarin,... Gartner Says by 2016, More Than 50 Percent of Mobile Apps Deployed Will be Hybrid Build Once, Run Everywhere Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 16/45

17 Motivation Security risks for hybrid applications One Malware for multiple platforms! Building Hybrid Android Apps with Java and JavaScript Challenges in analyzing hybrid applications They are developed in multiple programming languages with different data types, values, and semantics. Inter-language communications are not explicit but implicit; they are not well documented. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 17/45

18 Hybrid Applications in Android Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 18/45

19 Hybrid Applications in Android Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 19/45

20 Hybrid Applications in Android Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 20/45

21 Implicit Inter-Language Communications Android Java JavaScript WebView.loadUrl("javascript:request();") WebView.loadUrl is usually for loading a given URL. When the prefix of a string argument of WebView.loadUrl is javascript:, it acts like the eval function. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 21/45

22 Implicit Inter-Language Communications JavaScript Android Java WebViewClient.shouldOverrideUrlLoading WebChromeClient.onJsPrompt WebView.addJavascriptInterface (from hybrid applications developed in the Cordova framework) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 22/45

23 Implicit Inter-Language Communications JavaScript Android Java WebViewClient.shouldOverrideUrlLoading Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 23/45

24 Implicit Inter-Language Communications JavaScript Android Java WebChromeClient.onJsPrompt Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 24/45

25 Implicit Inter-Language Communications JavaScript Android Java WebView.addJavascriptInterface Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 25/45

26 addjavascriptinterface Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 26/45

27 addjavascriptinterface JavaScript can call the Java object s methods. It can not access the Java object s fields. Only public methods annotated with JavascriptInterface can be accessed from JavaScript. Type conversions and restrictions are not specified, but... Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 27/45

28 Type Compatibility (by Experiments) JavaScript Android Java: function argument types int float String boolean Object Array Null (null) (null) (null) (null) (null) (null) Undefined ("undefined") Number (type conversion) (false) (null) (null) Boolean (0) (0) (type conversion) (null) (null) String (0) (0) (false) (null) (null) Object (0) (0) ("undefined") (false) (null) (null) Array (0) (0) ("undefined") (false) (null) = if the Array element type is one of primitive types; null if the Array element type is Object; 0 if the Array element type is int or float; false if the Array element type is boolean; or "undefined" if the Array element type is String. Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 28/45

29 Type Compatibility (by Experiments) Android Java JavaScript: function return types int float String boolean Object Array JavaScript (inexact) ({}) (undefined) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 29/45

30 HybriDroid Soundy analysis framework for Android hybrid applications Support for partial but most implicit inter-language flows backed by APIs, blogs, and Dalvik VM source code Support for partial but most type compatibility backed by experiments with trials & errors Implementation on top of WALA ac/kaist/hybridroid/callgraph Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 30/45

31 HybriDroid Implementation Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 31/45

32 HybriDroid Implementation Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 32/45

33 HybriDroid Implementation AndroidHybridCallGraphBuilder Model addjavascriptinterface by binding the Java object (first argument) with the given name (second argument) at the global scope of JavaScript Model Android Java methods as mockup objects that are accessible from JavaScript Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 33/45

34 HybriDroid Implementation AndroidHybridAnalysisScope Build a single analysis scope covering both Android Java and JavaScript Replace Java with Android Java in the sample JavaJavaScriptAnalysisScope class AndroidHybridMethodTargetSelector Model invocation of Android Java methods from JavaScript by selecting mockup objects constructed by AndroidHybridCallGraphBuilder as invocation targets Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 34/45

35 Applications API misuse detection Use of void results from Android Java methods in JavaScript Passing values of incompatible types between Android Java methods and JavaScript Wrong number of arguments to Android Java methods from JavaScript Private data leakage detection Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 35/45

36 Application: API Misuse Detection (I) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 36/45

37 Application: API Misuse Detection (I) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 37/45

38 Application: API Misuse Detection (II) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 38/45

39 Application: API Misuse Detection (II) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 39/45

40 Application: API Misuse Detection (III) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 40/45

41 Application: API Misuse Detection (III) Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 41/45

42 Application: Private Data Leakage Detection Private data sources and sinks via network may be anywhere in Android Java and JavaScript. Track flows of private data via data flow analysis and detect possible private data leakage. Four kinds of private data flows Android Java (source) JavaScript (sink) Android Java (source) JavaScript Android Java (sink) JavaScript (source) Android Java (sink) JavaScript (source) Android Java JavaScript (sink) Taint analysis based on WALA s IFDS implementation Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 42/45

43 Application: Private Data Leakage Detection Private data sources and sinks via network may be anywhere in Android Java and JavaScript. Track flows of private data via data flow analysis and detect possible private data leakage. Four kinds of private data flows Android Java (source) JavaScript (sink) Android Java (source) JavaScript Android Java (sink) JavaScript (source) Android Java (sink) JavaScript (source) Android Java JavaScript (sink) Taint analysis based on WALA s IFDS implementation Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 42/45

44 Application: Private Data Leakage Detection Private data sources and sinks via network may be anywhere in Android Java and JavaScript. Track flows of private data via data flow analysis and detect possible private data leakage. Four kinds of private data flows Android Java (source) JavaScript (sink) Android Java (source) JavaScript Android Java (sink) JavaScript (source) Android Java (sink) JavaScript (source) Android Java JavaScript (sink) Taint analysis based on WALA s IFDS implementation Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 42/45

45 Application: Private Data Leakage Detection Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 43/45

46 Application: Private Data Leakage Detection Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 44/45

47 Limitations & Future Work Cordova libraries More implicit inter-language communications (?) Android components Concurrency Events Experiments with real-world hybrid applications Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid: Analysis Framework for Android Hybrid Applications 45/45

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project: Apache Cordova is a open-source mobile development framework. It allows you to use standard web technologies such as HTML5, CSS3 and JavaScript for cross-platform development, avoiding each mobile platform

More information

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),

More information

SYST35300 Hybrid Mobile Application Development

SYST35300 Hybrid Mobile Application Development SYST35300 Hybrid Mobile Application Development Native, Web and Hybrid applications Hybrid Applications: Frameworks Native, Web and Hybrid Applications Mobile application development is the process by

More information

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado Multi-Platform Mobile Application Development Analysis Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado Agenda 1. 2. 3. 4. 5. Introduction Multi-Platform Mobile Applications

More information

Building native mobile apps for Digital Factory

Building native mobile apps for Digital Factory DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels

More information

Lecture 4 Cross-Platform Development. <lecturer, date>

Lecture 4 Cross-Platform Development. <lecturer, date> Lecture 4 Cross-Platform Development Outline Cross-Platform Development PhoneGap Appcelerator Titanium Xamarin References Native Development Represents the baseline for comparisons You

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development Mobile Development Trends Need an App... 3 4 Popular Devices in Latvia

More information

Developing and deploying mobile apps

Developing and deploying mobile apps Developing and deploying mobile apps 1 Overview HTML5: write once, run anywhere for developing mobile applications 2 Native app alternative Android -- Java ios -- Objective-C Windows Mobile -- MS tools

More information

The Decaffeinated Robot

The Decaffeinated Robot Developing on without Java Texas Linux Fest 2 April 2011 Overview for Why? architecture Decaffeinating for Why? architecture Decaffeinating for Why choose? Why? architecture Decaffeinating for Why choose?

More information

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Best practices building multi-platform apps. John Hasthorpe & Josh Venman Best practices building multi-platform apps John Hasthorpe & Josh Venman It s good to have options Android 4.3 10 Tablet Windows 7 14 Laptop Windows 7 15 Laptop Mac OSX 15 Laptop ios 6 4.6 Phone Android

More information

max firtman @firt firt.mobi martes 26 de julio de 11

max firtman @firt firt.mobi martes 26 de julio de 11 max firtman @firt firt.mobi who am I? mobile+web developer mobilexweb.com blog @firt where? where? buenos aires ~ argentina where? buenos aires ~ argentina patagonia soccer tango where? buenos aires ~

More information

Bridging the Gap: from a Web App to a Mobile Device App

Bridging the Gap: from a Web App to a Mobile Device App Bridging the Gap: from a Web App to a Mobile Device App or, so how does this PhoneGap* stuff work? *Other names and brands may be claimed as the property of others. 1 Users Want Mobile Apps, Not Mobile

More information

Cross-Platform Tools

Cross-Platform Tools Cross-Platform Tools Build once and Run Everywhere Alexey Karpik Web Platform Developer at ALTOROS Action plan Current mobile platforms overview Main groups of cross-platform tools Examples of the usage

More information

An Analysis of Mobile Application Development Approaches

An Analysis of Mobile Application Development Approaches April 2014, HAPPIEST MINDS TECHNOLOGIES An Analysis of Mobile Application Development Approaches Author Umesh Narayan Gondhali 1 SHARING. MINDFUL. INTEGRITY. LEARNING. EXCELLENCE. SOCIAL RESPONSIBILITY.

More information

Making Sense of Mobile Development Options. Luis Sala Director, Technology Alliances @LuisSala

Making Sense of Mobile Development Options. Luis Sala Director, Technology Alliances @LuisSala Making Sense of Mobile Development Options Luis Sala Director, Technology Alliances @LuisSala Disclaimers Mobile = Smartphone & Tablet Native discussions have an ios bias But the concepts all apply to

More information

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction BELATRIX SOFTWARE Why you should be moving to mobile Cross Platform Development? Introduction If you re thinking of going mobile, delivering online services or updating your existing app, you know that

More information

How To Develop A Mobile App With Phonegap

How To Develop A Mobile App With Phonegap Introduction to Mobile Development with PhoneGap Yeah it s pretty awesome. Who is this guy? Andrew Trice Technical Evangelist, Adobe atrice@adobe.com http://tricedesigns.com @andytrice http://github.com/triceam

More information

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Safe Harbor Statement The following is intended to outline our general

More information

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte Enabling Cordova (aka PhoneGap) on Tizen René Pourtier / Luc Yriarte What is Cordova (aka PhoneGap)? An open-source standards-based development framework for building cross-platform mobile applications

More information

Enterprise Mobile Application Development: Native or Hybrid?

Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? SevenTablets 855-285-2322 Contact@SevenTablets.com http://www.seventablets.com

More information

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native

More information

A Way Out of the Mobile App Development Conundrum

A Way Out of the Mobile App Development Conundrum A Way Out of the Mobile App Development Conundrum How you can grow your business and improve time-to-market with a cross-platform mobile app strategy Introduction Ask most any business executive for their

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Mobile Development» 2016-07-01 http://www.etanova.com/technologies/mobile-development Contents ios iphone and ipad... 6 Objective-C Programming Language... 6 Swift Programming

More information

Whitepaper. Trans. for Mobile

Whitepaper. Trans. for Mobile Whitepaper Trans forming Your Vision Into Winning Solutions How to Save 50%, 75% or more for Mobile Appp Development www.baytechservices.com Background As mobile access has transitioned from a nice to

More information

Tracking Load-time Configuration Options

Tracking Load-time Configuration Options FOSD Meeting 2014 Tracking Load-time Configuration Options Max Lillack 1 SPL or one App to rule them all? Institut für Wirtschaftsinformatik Max Lillack 2 Challenge Apps must handle variability regarding

More information

How to pick the right development model for your next mobile project

How to pick the right development model for your next mobile project How to pick the right development model for your next mobile project Conny Svensson Managing Architect and Strategist Mobility c.svensson@cgi.com @connysvensson ScanDev 2013 2 2 2 Web vs Native is irrelevant!

More information

Contenu du Cours : IBM Mobile Application

Contenu du Cours : IBM Mobile Application Contenu du Cours : IBM IBM Middle East and Africa University IBM Copyright 2014 IBM CONFIDENTIAL - Why IBM? IBM MARKET LEADER IN THE MOBILE APPLICATION SPACE GARTNER Magic Quadrant Development Platforms

More information

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007

Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,

More information

Cross-Platform Development

Cross-Platform Development 2 Cross-Platform Development Cross-Platform Development The world of mobile applications has exploded over the past five years. Since 2007 the growth has been staggering with over 1 million apps available

More information

WebView addjavascriptinterface Remote Code Execution 23/09/2013

WebView addjavascriptinterface Remote Code Execution 23/09/2013 MWR InfoSecurity Advisory WebView addjavascriptinterface Remote Code Execution 23/09/2013 Package Name Date Affected Versions Google Android Webkit WebView 23/09/2013 All Android applications built with

More information

A Guide to Mobile App Development Platforms

A Guide to Mobile App Development Platforms A Guide to Mobile App Development Platforms Choosing a Mobile Development Framework Often a developer has a great idea they can visualize but a gauntlet to run through before they see it climb up the bestseller

More information

Android WebKit Development: A cautionary tale. Joe Bowser Nitobi E-Mail: joe.bowser@nitobi.com

Android WebKit Development: A cautionary tale. Joe Bowser Nitobi E-Mail: joe.bowser@nitobi.com Android WebKit Development: A cautionary tale Joe Bowser Nitobi E-Mail: joe.bowser@nitobi.com About this talk This talk is not explicitly about PhoneGap This is a technical talk - It is expected that you

More information

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android

More information

Using AllJoyn with Apache Cordova, Python & Node

Using AllJoyn with Apache Cordova, Python & Node Using AllJoyn with Apache Cordova, Python & Node Ivan R. Judson, PhD October 2014, Microsoft 13 October 2015 AllSeen Alliance 1 Agenda 1. Background 2. Cordova Plugin 3. Language Bindings Python Bindings

More information

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE Solutions Introduction: Enterprises around the globe are mobilizing mission-critical services. Businesses get streamlined due

More information

Making Mobile a Reality

Making Mobile a Reality Making Mobile a Reality KIEFER CONSULTING CALIFORNIA DEPARTMENT OF TECHNOLOGY Introductions Scott Paterson California Department of Technology, Enterprise Solutions Harkeerat Toor Kiefer Consulting, Consultant

More information

The Anatomy of a Native App

The Anatomy of a Native App The Anatomy of a Native App 01 Defining Native Whether accessing order history during a sales call or checking a flight status, users expect information to be instantly accessible and presented in a way

More information

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer Developing multidevice-apps using Apache Cordova and HTML5 Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer WTF is Apache Cordova? Set of device APIs that allow to access native device

More information

How To Use Titanium Studio

How To Use Titanium Studio Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration

More information

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS RAJESH KUMAR Technical Lead, Aricent PUNEET INDER KAUR Senior Software Engineer, Aricent HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable

More information

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

Experimental Comparison of Hybrid and Native Applications for Mobile Systems , pp. 1-12 http://dx.doi.org/10.14257/ijmue.2015.10.3.01 Experimental Comparison of Hybrid and Native Applications for Mobile Systems Seung-Ho Lim Department of Digital Information Engineering Hankuk University

More information

HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App

HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App HP AppPulse Mobile Adding HP AppPulse Mobile to Your Android App Document Release Date: April 2015 How to Add HP AppPulse Mobile to Your Android App How to Add HP AppPulse Mobile to Your Android App For

More information

the cross platform mobile apps dream Click to edit Master title style Click to edit Master text styles Third level Fourth level» Fifth level

the cross platform mobile apps dream Click to edit Master title style Click to edit Master text styles Third level Fourth level» Fifth level Click to edit Master title style Click to edit Master text styles The Second nightmare level behind Third level the cross platform Fourth level» Fifth level mobile apps dream Marco Grassi @marcograss MGrassi@nowsecure.com

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel Enable Your Automated Web App Testing by WebDriver Yugang Fan Intel Agenda Background Challenges WebDriver BDD Behavior Driven Test Architecture Example WebDriver Based Behavior Driven Test Summary Reference

More information

Retool your HTML/JavaScript to go Mobile

Retool your HTML/JavaScript to go Mobile Retool your HTML/JavaScript to go Mobile @atdebonis 2008 Troy Web Consulting LLC All rights reserved 1 Overview What is PhoneGap? What is it good for? What can you use with it? Device Features Dev Tools

More information

Solution Spotlight BEST PRACTICES FOR DEVELOPING MOBILE CLOUD APPS REVEALED

Solution Spotlight BEST PRACTICES FOR DEVELOPING MOBILE CLOUD APPS REVEALED Solution Spotlight BEST PRACTICES FOR DEVELOPING MOBILE CLOUD APPS REVEALED T here s two ways you can build your mobile applications: native applications, or mobile cloud applications. Which option is

More information

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Porting Existing PhoneGap Apps to Tizen OS - Development Story Porting Existing PhoneGap Apps to Tizen OS - Development Story Anil Kumar Yanamandra Thomas Mitchell ProKarma About ProKarma Who am I? Anil Kumar Yanamandra Mobile Architect & Head CoE for Mobility @ProKarma

More information

Reach 4 million Unity developers

Reach 4 million Unity developers Reach 4 million Unity developers with your Android library Vitaliy Zasadnyy Senior Unity Dev @ GetSocial Manager @ GDG Lviv Ankara Android Dev Days May 11-12, 2015 Why Unity? Daily Users 0 225 M 450 M

More information

True Web Application Management: Fixing the Gaps in EMM Solutions

True Web Application Management: Fixing the Gaps in EMM Solutions True Web Application Management: Fixing the Gaps in EMM Solutions Executive Summary The modern workforce expects to use a combination of laptops, tablets, and smartphones to complete its work. Organizations

More information

Write Once, Publish Everywhere. The smart way to develop mobile sites and apps your customers love

Write Once, Publish Everywhere. The smart way to develop mobile sites and apps your customers love Write Once, Publish Everywhere The smart way to develop mobile sites and apps your customers love 24 million users (and rising) are already enjoying high performance mobile services with apps created by

More information

Braindumps.C2150-810.50 questions

Braindumps.C2150-810.50 questions Braindumps.C2150-810.50 questions Number: C2150-810 Passing Score: 800 Time Limit: 120 min File Version: 5.3 http://www.gratisexam.com/ -810 IBM Security AppScan Source Edition Implementation This is the

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd. Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps Hyeokgon Ryu, Infraware Technology, Ltd. Talking about Needs of Automated Converting from Android To Tizen Introduce

More information

IBM Watson Ecosystem. Getting Started Guide

IBM Watson Ecosystem. Getting Started Guide IBM Watson Ecosystem Getting Started Guide Version 1.1 July 2014 1 Table of Contents: I. Prefix Overview II. Getting Started A. Prerequisite Learning III. Watson Experience Manager A. Assign User Roles

More information

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group DevOps Best Practices for Mobile Apps Sanjeev Sharma IBM Software Group Me 18 year in the software industry 15+ years he has been a solution architect with IBM Areas of work: o DevOps o Enterprise Architecture

More information

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code What is cross-platform development? Cross-platform development produces a single code base that can be

More information

Cross-Platform Phone Apps & Sites with jquery Mobile

Cross-Platform Phone Apps & Sites with jquery Mobile Cross-Platform Phone Apps & Sites with jquery Mobile Nick Landry, MVP Senior Product Manager Infragistics Nokia Developer Champion activenick@infragistics.com @ActiveNick www.activenick.net Who is ActiveNick?

More information

Cross-platform mobile development with Visual C++ 2015

Cross-platform mobile development with Visual C++ 2015 Cross-platform mobile development with Visual C++ 2015 Sasha Goldshtein @goldshtn CTO, Sela Group blog.sashag.net App Targeting Spectrum Developer pain exponential jump in complexity, but not in user experience

More information

Application Security from IBM Karl Snider, Market Segment Manager March 2012

Application Security from IBM Karl Snider, Market Segment Manager March 2012 Application Security from IBM Karl Snider, Market Segment Manager March 2012 1 2012 IBM Corporation Helping Solve Customer Challenges Application Security Finding Application Vulnerabilities GlassBox scanning

More information

CROSS-PLATFORM MOBILE MALWARE: WRITE ONCE, RUN EVERYWHERE William Lee & Xinran Wu Sophos, Australia

CROSS-PLATFORM MOBILE MALWARE: WRITE ONCE, RUN EVERYWHERE William Lee & Xinran Wu Sophos, Australia CROSS-PLATFORM MOBILE MALWARE: WRITE ONCE, RUN EVERYWHERE William Lee & Xinran Wu Sophos, Australia Email {william.lee, xinran.wu@sophos.com.au ABSTRACT Every day, thousands of new mobile apps are published

More information

Getting started with Android and App Engine

Getting started with Android and App Engine Getting started with Android and App Engine About us Tim Roes Software Developer (Mobile/Web Solutions) at inovex GmbH www.timroes.de www.timroes.de/+ About us Daniel Bälz Student/Android Developer at

More information

Praktikum Entwicklung von Mediensystemen (Android)

Praktikum Entwicklung von Mediensystemen (Android) Praktikum Entwicklung von Mediensystemen (Android) Wintersemester 2014/15 Daniel Buschek, Dr. Alexander De Luca, Raphael Kösters Today Organization Android 101 Hands-On Assignment 01 October 9, 2014 PEM

More information

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com

More information

Native mobile apps: The wrong choice for business?

Native mobile apps: The wrong choice for business? Native mobile apps: The wrong choice for business? Why businesses should think twice before building native mobile applications A white paper from Introduction Native mobile applications are popular with

More information

MOBILIZE ME! APPS FOR MOBILE DEVICES OR MOBILE WEB APPS TECHNOLOGIES, TOOLS, ASSESSMENTS

MOBILIZE ME! APPS FOR MOBILE DEVICES OR MOBILE WEB APPS TECHNOLOGIES, TOOLS, ASSESSMENTS MOBILIZE ME! APPS FOR MOBILE DEVICES OR MOBILE WEB APPS TECHNOLOGIES, TOOLS, ASSESSMENTS The uptrend in mobile web apps is continuing. More and more people are tending to their private and professional

More information

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev Developing multi-platform mobile applications: doing it right Mihail Ivanchev Outline Significance of multi-platform support Recommend application architecture Web-based application frameworks Game development

More information

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh Developing Native JavaScript Mobile Apps Using Apache Cordova Hazem Saleh About Me Ten years of experience in Java enterprise, portal, mobile solutions. Apache Committer and an open source fan. Author

More information

ADF Mobile Overview and Frequently Asked Questions

ADF Mobile Overview and Frequently Asked Questions ADF Mobile Overview and Frequently Asked Questions Oracle ADF Mobile Overview Oracle ADF Mobile is a Java and HTML5-based mobile application development framework that enables developers to build and extend

More information

Mobile web apps: The best option for business? A whitepaper from mrc

Mobile web apps: The best option for business? A whitepaper from mrc Mobile web apps: The best option for business? A whitepaper from mrc Introduction Mobile apps have finally reached the point where businesses can no longer afford to ignore them. Recent surveys and studies

More information

COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005. Question Out of Mark A Total 16. B-1 7 B-2 4 B-3 4 B-4 4 B Total 19

COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005. Question Out of Mark A Total 16. B-1 7 B-2 4 B-3 4 B-4 4 B Total 19 Term Test #2 COSC 1020 3.0 Introduction to Computer Science I Section A, Summer 2005 Family Name: Given Name(s): Student Number: Question Out of Mark A Total 16 B-1 7 B-2 4 B-3 4 B-4 4 B Total 19 C-1 4

More information

Native vs. HTML5 Mobile App Development

Native vs. HTML5 Mobile App Development Native vs. HTML5 Mobile App Development Which option is best? appcelerator.com Introduction: The Native vs. HTML5 Debate While there are far more native than HTML5 mobile applications in the market today,

More information

Take Your Team Mobile with Xamarin

Take Your Team Mobile with Xamarin Take Your Team Mobile with Xamarin Introduction Enterprises no longer question if they should go mobile, but are figuring out how to implement a successful mobile strategy, and in particular how to go

More information

DEVELOPING NFC APPS for BLACKBERRY

DEVELOPING NFC APPS for BLACKBERRY 1 DEVELOPING NFC APPS for BLACKBERRY NFC Forum, Developers Showcase March 21 st, 2014 Larry McDonough, Principal Evangelist @LMCDUNNA 2 CONTENTS Development on BlackBerry BlackBerry NFC Support 5 most

More information

QML and JavaScript for Native App Development

QML and JavaScript for Native App Development Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript

More information

... Introduction... 17. ... Acknowledgments... 19

... Introduction... 17. ... Acknowledgments... 19 ... Introduction... 17... Acknowledgments... 19 PART I... Getting Started... 21 1... Introduction to Mobile App Development... 23 1.1... The Mobile Market and SAP... 23 1.1.1... Growth of Smart Devices...

More information

SAP Mobile Platform Intro

SAP Mobile Platform Intro SAP Mobile Platform Intro Agenda SAP Mobile Platform overview App types Core platform services Backend connectivity Open technologies HANA Cloud Platform Key UI Tools and Technologies SAP Fiori Launchpad

More information

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen Development Techniques for Native/Hybrid Tizen Apps Presenter Matti Pakarinen 1 Content Symphony Teleca in Brief Introduction to Native/Hybrid Apps Key experiences Case Studies 2 Who we are Symphony Teleca

More information

Multithreading and Java Native Interface (JNI)!

Multithreading and Java Native Interface (JNI)! SERE 2013 Secure Android Programming: Best Practices for Data Safety & Reliability Multithreading and Java Native Interface (JNI) Rahul Murmuria, Prof. Angelos Stavrou rmurmuri@gmu.edu, astavrou@gmu.edu

More information

CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS

CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one

More information

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects. Mobile Development Frameworks Overview Understand the pros and cons of using different mobile development frameworks for mobile projects. Mobile Solution Frameworks One of the biggest technological decisions

More information

CROSS-PLATFORM MOBILE MALWARE - WRITE ONCE INFECT EVERYWHERE. William Lee & Xinran Wu Email: {william.lee, xinran.wu}@sophos.com.

CROSS-PLATFORM MOBILE MALWARE - WRITE ONCE INFECT EVERYWHERE. William Lee & Xinran Wu Email: {william.lee, xinran.wu}@sophos.com. CROSS-PLATFORM MOBILE MALWARE - WRITE ONCE INFECT EVERYWHERE William Lee & Xinran Wu Email: {william.lee, xinran.wu}@sophos.com.au Agenda 1. Cross-Platform Frameworks 2. Existing malware 3. App Package

More information

Build a Mobile App in 60 Minutes with MAF

Build a Mobile App in 60 Minutes with MAF Build a Mobile App in 60 Minutes with MAF Presented by: John Jay King Download this paper from: 1 Session Objectives Understand the components of Oracle MAF Use Oracle MAF to create mobile applications

More information

Introduction to cross-platform mobile development with Appcelerator Titanium

Introduction to cross-platform mobile development with Appcelerator Titanium Introduction to cross-platform mobile development with Clément Guérin Licence Professionnelle Création Multimédia March 6, 2012 Clément Guérin Introduction to Titanium 1/ 43 Outline Introduction Smartphones

More information

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston

Dave Haseman, Ross. Hightower. Mobile Development for SAP* ^>. Galileo Press. Bonn. Boston Dave Haseman, Ross Hightower Mobile Development for SAP* -a ^>. Galileo Press # Bonn Boston Introduction 17 Acknowledgments 19 PART I Getting Started 1.1 The Mobile Market and SAP 23 1.1.1 Growth of Smart

More information

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Development for Mobile Devices Tools from Intel, Platform of Your Choice! Development for Mobile Devices Tools from Intel, Platform of Your Choice! Sergey Lunev, Intel Corporation HTML5 Tools Development Manager Optional: Download App Preview Android bit.ly/1i8vegl ios bit.ly/1a3w7bk

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

Messing with the Android Runtime

Messing with the Android Runtime Northeastern University Systems Security Lab Messing with the Android Runtime Collin Mulliner, April 26th 2013, Singapore crm[at]ccs.neu.edu SyScan Singapore 2013 $ finger collin@mulliner.org 'postdoc'

More information

CS 558 Internet Systems and Technologies

CS 558 Internet Systems and Technologies CS 558 Internet Systems and Technologies Dimitris Deyannis deyannis@csd.uoc.gr 881 Heat seeking Honeypots: Design and Experience Abstract Compromised Web servers are used to perform many malicious activities.

More information

Enterprise Mobile Application Management Platform -A Hybrid Approach

Enterprise Mobile Application Management Platform -A Hybrid Approach Enterprise Mobile Application Management Platform -A Hybrid Approach Jay R. Visariya Research Scholar, Department of Computer Engineering, Vishwakarma Institute of Technology, Pune, India Mahesh R. Dube

More information

NBC.com ipad app reaches #1 in the App Store and 2 million users within 9 months

NBC.com ipad app reaches #1 in the App Store and 2 million users within 9 months CASE STUDY: NBCUNIVERSAL NBC.com ipad app reaches #1 in the App Store and 2 million users within 9 months Rapid mobile innovation powered by Appcelerator COMPANY One of the world s largest broadcasting

More information

YOUR MOBILE DEVELOPMENT ROUTE

YOUR MOBILE DEVELOPMENT ROUTE SELECTING YOUR MOBILE DEVELOPMENT ROUTE It s not an either/or choice, argues Ferry van der Vorst. One of the important decisions to be made when using mobile for learning and communications is your choice

More information

AGENDA. Background. The Attack Surface. Case Studies. Binary Protections. Bypasses. Conclusions

AGENDA. Background. The Attack Surface. Case Studies. Binary Protections. Bypasses. Conclusions MOBILE APPLICATIONS AGENDA Background The Attack Surface Case Studies Binary Protections Bypasses Conclusions BACKGROUND Mobile apps for everything == lots of interesting data Banking financial Social

More information

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development

More information

Safe Harbor Statement

Safe Harbor Statement Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment

More information

Take full advantage of IBM s IDEs for end- to- end mobile development

Take full advantage of IBM s IDEs for end- to- end mobile development Take full advantage of IBM s IDEs for end- to- end mobile development ABSTRACT Mobile development with Rational Application Developer 8.5, Rational Software Architect 8.5, Rational Developer for zenterprise

More information

Platform Agnostic Mobile App Development

Platform Agnostic Mobile App Development Platform Agnostic Mobile App Development January 2016 A cooperative project between NTT DATA, Inc. and University of Texas Dallas Copyright 2012 NTT DATA Corporation Copyright 2012 NTT DATA Corporation

More information