An Automatic Authorship Attribution Technique for Android Applications

Total Page:16

File Type:pdf, Size:1020Kb

An Automatic Authorship Attribution Technique for Android Applications An automatic authorship attribution technique for Android applications by Hugo F. Gonzalez Robledo M.Sc. in Computer Science, Technological Institute of San Luis Potosi, Mexico, 2005. Bachelor of Software Engineering, Technological Institute of San Luis Potosi, Mexico, 2000. A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF Doctor of Philosophy In the Graduate Academic Unit of Faculty of Computer Science Supervisor(s): Ali A. Ghorbani, Ph.D., Faculty of Computer Science, UNB Natalia Stakhanova, Ph.D., Faculty of Computer Science, UNB Examining Board: Rodney Cooper, Professor, Faculty of Computer Science, UNB, Chair Ronxing Lu, Ph.D., Faculty of Computer Science, UNB Brent Petersen, Ph.D., Department of Electrical and Computer Engineering, UNB External Examiner: Nur Zincir-Heywood, Ph.D., Faculty of Computer Science, Dalhousie University This thesis is accepted Dean of Graduate Studies THE UNIVERSITY OF NEW BRUNSWICK September, 2017 c Hugo F. Gonzalez Robledo, 2017 Abstract In recent years, mobile devices have overcome desktop computers in usage. The most popular system for mobile devices is Android; hence, it is the most targeted by malicious applications. Typical signature detection systems had been proved to be ineffective for targeted attacks; therefore, other approaches should be explored. It is a common believe that only a handful of skilled au- thors exists to produce new malware, the overwhelming amount of current samples are adaptations, evolution, and modifications of an original strain. It is possible to associate a piece of malware with the adversary behind it by employing authorship attribution techniques. In other words, we believe that personal preferences of mobile software developers (including malware developers) leave traces in the produced software, i.e., apps. These prefer- ences are unique to each developer. Discovering these preferences would allow us to attribute an unknown app to an author. In this thesis, we proposed, developed, and evaluated a framework to automatically discover and create new author profiles of unknown Android apps on an open world problem. To accomplish this goal, we prepare and release two new Android datasets, one ii for legitimate and the other for malicious authors. Also, we define a set of stylistic features extracted from Android apk files to be used by the frame- work. The heart of the framework is an algorithm to discover and create new author profiles from a stream of apps; it uses machine learning boosting techniques to calculate prediction probability of new samples, then group them and measure their cosine similarity, and finally discard outliers. We employ a 5-fold cross-validation over a fixed set of apps with over a 99% of accuracy, precision, and recall. For unknown apps, we measure how many were attributed and how many were attributed to suspicious profiles. In our extensive experiments we discover five apps in the official market related to ransomware profile that were not detected by VirusTotal service as malicious immediately, but a couple of weeks later. We also present a use case where our solution is employed to evaluate the threat landscape in the official Android market. iii Dedication To God, the Almighty Creator. To Nadia, the love of my life, for all the support, love, care and sharing dur- ing this journey. To Jimena and Daniela, two little big reasons to keep going, for all the love, lessons and those enjoyable moments. To my parents Rosario and Jorge, for all the love, care and encouraging dur- ing my hole life. To my ancestors, because without them, I won't be here being who I am. iv Acknowledgements Foremost, I would like to thank my PhD advisers, Dr. Ali A. Ghorbani and Dr. Natalia Stakhanova, for the continuous support and guidance during my study and research these past four years. Thank you for your patience, motivation, enthusiasm and support; even when you were very busy with your appointments, you always found time to answer e-mails, have quick walking talks or discuss about new ideas and projects. I also would like to thank the rest of my thesis committee: Professor Cooper, Professor DeDourek, Dr. Lu, Dr. Petersen and Dr. Zincir-Heywood for their time, encouragement, insightful comments, and interesting questions. I thank my research colleagues at former Information Security Centre of Ex- cellence (ISCX) (now Canadian Institute for Cybersecurity (CIC)) for the stimulating discussions and exciting projects we worked on together. Espe- cially to Abdulla, Amirhosseing, Andi Fitriah for Android related discussions, ideas, projects and experiments. Thanks to Ratinder, Alina and Yan for the discussions, ideas and hard work in other several projects. Thanks to all the students and staff that converged in the \lab", with more or less interaction, v I'm sure that I learned something from you, and I hope you learned some- thing from me. Also my gratitude to the fellas that helped me to rediscover my passion for the volleyball, organizing the team to play regularly at UNB and outside of the University. I should express my gratitude to my previous mentors, friends, colleagues and family members who encourage me to continue my studies abroad. Thanks to \The Honeynet Project" and its members, who opened my view and helped me to view the world from a different perspective. I need to thank my family for all the support during these years: my parents, my wife and my kids. Last but not the least, I would like to thank Mexico's Government for my PROMEP scholarship during the first three years of my PhD studies. And of course all the support from Universidad Politecnica de San Luis Potosi. vi Table of Contents Abstract ii Dedication iv Acknowledgments v Table of Contents vii List of Tables ix List of Figures xi 1 Introduction 1 1.1 Problem Statement . 5 1.2 Research Motivations . 6 1.2.1 Challenges . 8 1.3 Contributions . 10 1.4 Thesis outline . 13 2 Background and related work 15 vii 2.1 Authorship attribution process . 16 2.1.1 Features . 17 2.1.2 Representations . 20 2.1.3 Authorship attribution methods . 25 2.1.3.1 Profile-based approach . 27 2.1.3.2 Instance-based approach . 28 2.1.3.3 Hybrid approach . 29 2.2 Basic introduction to Android platform . 30 2.3 Related work . 36 2.3.1 Source code authorship attribution . 37 2.3.2 Binary code authorship attribution . 41 2.3.3 Malware analysis . 43 2.3.4 Android malware analysis . 45 2.4 Concluding remarks . 48 3 An automatic authorship attribution technique for An- droid applications 51 3.1 Filter . 53 3.2 Feature extraction . 55 3.2.1 Features extracted. 58 3.3 Feature representation. 69 3.4 Attribution and Discovery approach . 73 3.5 Prototype implementation . 79 viii 3.5.1 Architectural view . 79 3.5.2 Implementation challenges . 87 3.5.3 Technical details of developed software components . 89 3.6 Summary . 93 4 Experimental results 95 4.1 Datasets . 96 4.2 Analysis of the authors' datasets . 102 4.3 Evaluation metrics . 106 4.4 Reference profiles validation. 108 4.5 Tuning thresholds . 114 4.6 Evaluation of emergent-profiles. 121 4.7 Experimenting with attribution only approach. 129 4.8 Concluding remarks . 137 5 Conclusions and future work 139 Bibliography 144 A Evolution of studies about Authorship Attribution 167 A.1 Bibliography . 167 Vita ix List of Tables 2.1 Summary of features and some examples. 21 3.1 Android packers detected. 55 3.2 Groups of features. 56 3.3 Directly extracted features. 58 3.4 Inferred features from string section. 59 3.5 Features composed by opcodes. 62 3.6 Features composed from a .dex file. 65 3.7 Features non related to a .dex file. 68 3.8 Features type and representations. 70 4.1 Datasets. 97 4.2 Relation between experiment stages and datasets. 102 4.3 Experimental results from filter step for legitimate and mali- cious authors. 104 4.4 Filters created with CommonCode tool. 105 4.5 Experimental results from created filters over legitimate and malicious authors. 105 x 4.6 Experimental results of signature distribution among legiti- mate and malicious authours. 106 4.7 Validation on legitimate authors dataset. 111 4.8 Validation on malicious authors dataset. 112 4.9 Validation over all authors. 113 4.10 Experimental results from discovery approach considering mal- ware families as coming from same author. 123 4.11 Experimental results for emergent-profiles considering mal- ware families as coming from same author. (First Part). 125 4.12 Experimental results for emergent-profiles considering mal- ware families as coming from same author. (Second Part). 126 4.13 Experimental results from discovery approach over legitimate apps. 129 4.14 Experimental results for authorship attribution over a large unknown suspicious stream of apps. 131 4.15 Experimental results for authorship attribution over a large unknown stream of apps. 132 4.16 Experimental results from attribution over new families' apps. 135 xi List of Figures 2.1 General steps to the process of software authorship attribution. 16 2.2 Android package (.apk) . 31 2.3 Android application project build process . 33 2.4 The structure of a typical plain .dex file. 35 2.5 Evolution of studies on software authorship attribution. 38 3.1 The flow of proposed approach to work on Android apps au- thorship attribution. 52 3.2 Overview of filter phase. 53 3.3 The process of building Bloom filters . 61 3.4 StructSignature technique description. 65 3.5 Creation of feature vector. 72 3.6 Attribution and Discovery approach. 74 3.7 Five categories holding different modules of our system. 81 3.8 External modules related each package of our system.
Recommended publications
  • Test Coverage Guide
    TEST COVERAGE GUIDE Test Coverage Guide A Blueprint for Strategic Mobile & Web Testing SUMMER 2021 1 www.perfecto.io TEST COVERAGE GUIDE ‘WHAT SHOULD I BE TESTING RIGHT NOW?’ Our customers often come to Perfecto testing experts with a few crucial questions: What combination of devices, browsers, and operating systems should we be testing against right now? What updates should we be planning for in the future? This guide provides data to help you answer those questions. Because no single data source tells the full story, we’ve combined exclusive Perfecto data and global mobile market usage data to provide a benchmark of devices, web browsers, and user conditions to test on — so you can make strategic decisions about test coverage across mobile and web applications. CONTENTS 3 Putting Coverage Data Into Practice MOBILE RECOMMENDATIONS 6 Market Share by Country 8 Device Index by Country 18 Mobile Release Calendar WEB & OS RECOMMENDATIONS 20 Market Share by Country 21 Browser Index by Desktop OS 22 Web Release Calendar 23 About Perfecto 2 www.perfecto.io TEST COVERAGE GUIDE DATA INTO PRACTICE How can the coverage data be applied to real-world executions? Here are five considerations when assessing size, capacity, and the right platform coverage in a mobile test lab. Optimize Your Lab Configuration Balance Data & Analysis With Risk Combine data in this guide with your own Bundle in test data parameters (like number of tests, analysis and risk assessment to decide whether test duration, and required execution time). These to start testing with the Essential, Enhanced, or parameters provide the actual time a full- cycle or Extended mobile coverage buckets.
    [Show full text]
  • AV-TEST Security Report for 2016/2017
    FACTS AND FIGURES SECURITY REPORT The AV-TEST Security Report 2 WINDOWS Security Status 5 macOS Security Status 10 ANDROID Security Status 13 INTERNET THREATS Security Status 16 IoT Security Status 19 2016/17 Test Statistics 22 FACTS AND FIGURES Declining malware statistics It remains positive to note that the declining malware trend in 2016 The AV-TEST provided some relief, at least quantitatively. Thus, compared to 2015, detection systems were required to seek out and defend against 14% fewer Security Report malware samples. In total, this amounted to precisely 11,725,292 fewer newly developed malware programs than in the previous year. It should not be The best news right off the bat: forgotten, however, that the volume of newly developed malware in 2016 still represented the second-highest since the beginning of measurements by Compared to the previous year, the AV-TEST systems. In addition, 2015 saw skyrocketing growth in malware the detection systems of AV-TEST showed programs and in comparison to 2014, practically a doubling of the sample statistics. The overall number of malware programs for all operating systems a slight decline in the development currently exceeds 640 million. of malware programs for the year 2016. Without wanting to belittle the positive trend for 2016, the fact remains that Overall, that is a pleasing trend, however there have been several short-term downward trends since the beginning of by no means any reason to celebrate, measurements in 1984, a total of six times, without seriously influencing the clear, long-term trend – towards more malware. Despite declining numbers, as evidenced by the AV-TEST Institute‘s in 2016, the AV-TEST analysis systems still recorded an average of 350,000 statistics of this year‘s Security Report.
    [Show full text]
  • 7.4, Integration with Google Apps Is Deprecated
    Google Search Appliance Integrating with Google Apps Google Search Appliance software version 7.2 and later Google, Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 www.google.com GSA-APPS_200.03 March 2015 © Copyright 2015 Google, Inc. All rights reserved. Google and the Google logo are, registered trademarks or service marks of Google, Inc. All other trademarks are the property of their respective owners. Use of any Google solution is governed by the license agreement included in your original contract. Any intellectual property rights relating to the Google services are and shall remain the exclusive property of Google, Inc. and/or its subsidiaries (“Google”). You may not attempt to decipher, decompile, or develop source code for any Google product or service offering, or knowingly allow others to do so. Google documentation may not be sold, resold, licensed or sublicensed and may not be transferred without the prior written consent of Google. Your right to copy this manual is limited by copyright law. Making copies, adaptations, or compilation works, without prior written authorization of Google. is prohibited by law and constitutes a punishable violation of the law. No part of this manual may be reproduced in whole or in part without the express written consent of Google. Copyright © by Google, Inc. Google Search Appliance: Integrating with Google Apps 2 Contents Integrating with Google Apps ...................................................................................... 4 Deprecation Notice 4 Google Apps Integration 4
    [Show full text]
  • Totalmem),Form Factor,System on Chip,Screen Sizes,Screen Densities,Abis,Android SDK Versions,Opengl ES Versions
    Manufacturer,Model Name,Model Code,RAM (TotalMem),Form Factor,System on Chip,Screen Sizes,Screen Densities,ABIs,Android SDK Versions,OpenGL ES Versions 10.or,E,E,2846MB,Phone,Qualcomm MSM8937,1080x1920,480,arm64-v8a 10.or,G,G,3603MB,Phone,Qualcomm MSM8953,1080x1920,480,arm64-v8a 10.or,D,10or_D,2874MB,Phone,Qualcomm MSM8917,720x1280,320,arm64-v8a 4good,A103,4GOOD_Light_A103,907MB,Phone,Mediatek MT6737M,540x960,240,armeabi- v7a 4good,4GOOD Light B100,4GOOD_Light_B100,907MB,Phone,Mediatek MT6737M,540x960,240,armeabi-v7a 7Eleven,IN265,IN265,466MB,Phone,Mediatek MT6572,540x960,240,armeabi-v7a 7mobile,DRENA,DRENA,925MB,Phone,Spreadtrum SC7731C,480x800,240,armeabi-v7a 7mobile,KAMBA,KAMBA,1957MB,Phone,Mediatek MT6580,720x1280,320,armeabi-v7a 7mobile,SWEGUE,SWEGUE,1836MB,Phone,Mediatek MT6737T,1080x1920,480,arm64-v8a A.O.I. ELECTRONICS FACTORY,A.O.I.,TR10CS1_11,965MB,Tablet,Intel Z2520,1280x800,160,x86 Aamra WE,E2,E2,964MB,Phone,Mediatek MT6580,480x854,240,armeabi-v7a Accent,Pearl_A4,Pearl_A4,955MB,Phone,Mediatek MT6580,720x1440,320,armeabi-v7a Accent,FAST7 3G,FAST7_3G,954MB,Tablet,Mediatek MT8321,720x1280,160,armeabi-v7a Accent,Pearl A4 PLUS,PEARL_A4_PLUS,1929MB,Phone,Mediatek MT6737,720x1440,320,armeabi-v7a Accent,SPEED S8,SPEED_S8,894MB,Phone,Mediatek MT6580,720x1280,320,armeabi-v7a Acegame S.A.
    [Show full text]
  • Global 2000 Bank Secures 9,000 Android Smartphones to Fulfill Internal Compliance Requirements
    CASE STUDY Global 2000 bank secures 9,000 Android smartphones to fulfill internal compliance requirements Customer Profile This financial services firm is based in the middle east, has an international network of 1400 branches globally, and is a member of the Forbes Global 2000 list. Industry: Financial services Mobility Policy: COPE EMM Solution: VMware AirWatch The Solution The Challenge • Lookout Mobile Endpoint Security To enable their Corporate Owned, Personally Enabled (COPE) mobility policy, The Results this leading bank needed a mobile security solution that would comply with their • Achieved compliance with internal internal policy for data protection, integrate with VMware AirWatch, and provide policies for endpoint protection visibility into mobile threats encountered by their international workforce. • Gained visibility into high-risk The IT team decided to implement a COPE mobility policy in order to reduce threats support time by having a limited number of device models and Android versions • Improved employee productivity to maintain. In addition, the bank has developed their own enterprise application with no increase in support tickets that enables their employees to deliver banking services to customers via mobile devices. With no visibility into threats or data leakage on mobile devices, the IT mobility team knew that their unprotected mobile endpoints were an attack surface that presented a major security risk. 1 CASE STUDY The Results Lookout delivers a solution that collects The bank is very happy with how quickly they were able to “ deploy Lookout, including pushing the Lookout For Work app threat data from around the world, and out to 2,000 devices a day towards the end of the process.
    [Show full text]
  • VOL.80 August, 2016 ASEC REPORT VOL.80 August, 2016
    Security Trend ASEC REPORT VOL.80 August, 2016 ASEC REPORT VOL.80 August, 2016 ASEC (AhnLab Security Emergency Response Center) is a global security response group consisting of virus analysts and security experts. This monthly report is published by ASEC and focuses on the most significant security threats and latest security technologies to guard against such threats. For further details, please visit AhnLab, Inc.’s homepage (www. ahnlab.com). SECURITY TREND OF August 2016 Table of Contents 1 01 Malware Statistics 4 02 Web Security Statistics 6 SECURITY STATISTICS 03 Mobile Malware Statistics 7 Ransomware Disguised as PokemonGo to Catch 10 2 Users SECURITY ISSUE Locky Ransomware Disguised as .DLL File 13 3 Appears IN-DEPTH ANALYSIS ASEC REPORT 80 | Security Trend 2 1 SECURITY STATISTICS 01 Malware Statistics 02 Web Security Statistics 03 Mobile Malware Statistics ASEC REPORT 80 | Security Trend SECURITY STATISTICS 01 Malware Statistics According to the ASEC (AhnLab Security Emergency Response Center), 8,793,413 malware were detected in August 2016. The number of detected malware decreased by 955,541 from 9,748,954 detected in the previous month as shown in Figure 1-1. A total of 4,986,496 malware samples were collected in August. 11,000,000 10,000,000 10,467,643 9,748,954 9,000,000 8,793,413 8,000,000 7,000,000 6,000,000 5,000,000 4,000,000 3,000,000 2,000,000 1,000,000 Detected Samples 3,022,206 6,121,096 4,986,496 Collected Samples June July August [Figure 1-1] Malware Trend * “Detected Samples” refers to the number of malware detected by AhnLab products deployed by our customers.
    [Show full text]
  • Android Malware Category and Family Detection and Identification Using Machine Learning
    Android Malware Category and Family Detection and Identification using Machine Learning Ahmed Hashem El Fiky1*, Ayman El Shenawy1, 2, Mohamed Ashraf Madkour1 1 Systems and Computer Engineering Dept., Faculty of Engineering, Al-Azhar University, Cairo, Egypt. 1 Systems and Computer Engineering Dept., Faculty of Engineering, Al-Azhar University, Cairo, Egypt. 2 Software Engineering and Information Technology, Faculty of Engineering and Technology, Egyptian Chinese University, Cairo, Egypt. [email protected] [email protected] [email protected] Abstract: Android malware is one of the most dangerous threats on the internet, and it's been on the rise for several years. Despite significant efforts in detecting and classifying android malware from innocuous android applications, there is still a long way to go. As a result, there is a need to provide a basic understanding of the behavior displayed by the most common Android malware categories and families. Each Android malware family and category has a distinct objective. As a result, it has impacted every corporate area, including healthcare, banking, transportation, government, and e-commerce. In this paper, we presented two machine- learning approaches for Dynamic Analysis of Android Malware: one for detecting and identifying Android Malware Categories and the other for detecting and identifying Android Malware Families, which was accomplished by analyzing a massive malware dataset with 14 prominent malware categories and 180 prominent malware families of CCCS-CIC- AndMal2020 dataset on Dynamic Layers. Our approach achieves in Android Malware Category detection more than 96 % accurate and achieves in Android Malware Family detection more than 99% accurate. Our approach provides a method for high-accuracy Dynamic Analysis of Android Malware while also shortening the time required to analyze smartphone malware.
    [Show full text]
  • Mobile Threat
    Mobile threat February 2018 David Bird FBCS considers threats via mobile devices and explains why he thinks the future may not be so bright. The unprecedented WannaCry ransomware and subsequent Petya destruct-ware outbreaks have caused mayhem internationally. As a result of a remote execution vulnerability, malware has propagated laterally due to two basic root-causes: (a) out-dated operating systems (OS), and/or (b) in-effective patching regimes. Here we have a commonality with the mobile device domain. There are many older generation devices that have different legacy mobile OSes installed that are no longer supported or updated. Legacy connected Microsoft Pocket PC palmtops and Windows CE or Windows Mobile devices are examples of tech still being used by delivery firms and supermarkets; even though they have been end-of-extended support since 2008 and 2014 respectively. So, do we have a problem? With over two and a half billion smartphones globally in 2016, the market is anticipated to reach at least six billion by 2020 due to the convenience of mobile back-end-as-a-service. Apparently, one vulnerability is disclosed every day, in which 10 per cent of those are critical. This figure does not include the number of internet-enabled tablets that are in circulation; in 2015, there were one billion globally, and this is expected to rise to almost one and a half billion by 2018. Today both Android-centric manufacturers and Apple fight for dominance in the mobile device market - squeezing out Blackberry’s enterprise smartphone monopoly. This has resulted in unsupported Blackberry smart-devices persisting in circulation, closely followed by successive versions of Windows Phone OS - with only 10 left supported.
    [Show full text]
  • Com Google Gdata Client Spreadsheet Maven
    Com Google Gdata Client Spreadsheet Maven Merriest and kinkiest Casey invent almost accelerando, though Todd sucker his spondulicks hided. Stupefied and microbiological Ethan readies while insecticidal Stephen shanghais her lichee horribly and airts cherubically. Quietist and frostbitten Waiter never nest antichristianly when Stinky shook his seizin. 09-Jun-2020 116 24400 google-http-java-client-findbugs-1220-lp1521. It just gives me like a permutation code coverage information plotted together to complete output panel making mrn is com google gdata client spreadsheet maven? Chrony System EnvironmentDaemons 211-1el7centos An NTP client. Richard Huang contact-listgdata. Gdata-mavenmaven-metadataxmlmd5 at master eburtsev. SpreadsheetServiceVersionsclass comgooglegdataclientspreadsheet. Index of sitesdownloadeclipseorgeclipseMirroroomph. Acid transactions with maven coordinates genomic sequences are required js code coverage sequencing kits and client library for com google gdata client spreadsheet maven project setup and table of users as. Issues filed for googlegdata-java-client Record data Found. Uncategorized Majecek's Weblog. API using Spring any Spring Data JPA Maven and embedded H2 database. GData Spreadsheet1 usages comgooglegdataclientspreadsheet gdata-spreadsheet GData Spreadsheet Last feather on Feb 19 2010. Maven dependency for Google Spreadsheet Stack Overflow. Httpmavenotavanopistofi7070nexuscontentrepositoriessnapshots false. Gdata-spreadsheet-30jar Fri Feb 19 105942 GMT 2010 51623. I'm intern to use db2triples for the first time fan is a java maven project. It tries to approve your hours of columns throughout the free software testing late to work. Maven Com Google Gdata Client Spreadsheet Google Sites. Airhacksfm podcast with adam bien Apple. Unable to build ODK Aggregate locally Development ODK. Bmkdep bmon bnd-maven-plugin BNFC bodr bogofilter boinc-client bomber bomns bonnie boo books bookworm boomaga boost1710-gnu-mpich-hpc.
    [Show full text]
  • Download the Index
    Dewsbury.book Page 555 Wednesday, October 31, 2007 11:03 AM Index Symbols addHistoryListener method, Hyperlink wid- get, 46 $wnd object, JSNI, 216 addItem method, MenuBar widget, 68–69 & (ampersand), in GET and POST parameters, addLoadListener method, Image widget, 44 112–113 addMessage method, ChatWindowView class, { } (curly braces), JSON, 123 444–445 ? (question mark), GET requests, 112 addSearchResult method JUnit test case, 175 SearchResultsView class, 329 A addSearchView method, MultiSearchView class, 327 Abstract Factory pattern, 258–259 addStyleName method, connecting GWT widgets Abstract methods, 332 to CSS, 201 Abstract Window Toolkit (AWT), Java, 31 addToken method, handling back button, 199 AbstractImagePrototype object, 245 addTreeListener method, Tree widget, 67 Abstraction, DAOs and, 486 Adobe Flash and Flex, 6–7 AbstractMessengerService Aggregator pattern Comet, 474 defined, 34 Jetty Continuations, 477 Multi-Search application and, 319–321 action attribute, HTML form tag, 507 sample application, 35 Action-based web applications Aggregators, 320 overview of, 116 Ajax (Asynchronous JavaScript and XML) PHP scripts for building, 523 alternatives to, 6–8 ActionObjectDAO class, 527–530 application development and, 14–16 Actions, server integration with, 507–508 building web applications and, 479 ActionScript, 6 emergence of, 3–5 ActiveX, 7 Google Gears for storage, 306–309 Add Import command Same Origin policy and, 335 creating classes in Eclipse, 152 success and limitations of, 5–6 writing Java code using Eclipse Java editor,
    [Show full text]
  • Ray Cromwell
    Building Applications with Google APIs Ray Cromwell Monday, June 1, 2009 “There’s an API for that” • code.google.com shows 60+ APIs • full spectrum (client, server, mobile, cloud) • application oriented (android, opensocial) • Does Google have a Platform? Monday, June 1, 2009 Application Ecosystem Client REST/JSON, GWT, Server ProtocolBuffers Earth PHP Java O3D App Services Media Docs Python Ruby Utility Blogger Spreadsheets Maps/Geo JPA/JDO/Other Translate Base Datastore GViz Social MySQL Search OpenSocial Auth FriendConnect $$$ ... GData Contacts AdSense Checkout Monday, June 1, 2009 Timefire • Store and Index large # of time series data • Scalable Charting Engine • Social Collaboration • Story Telling + Video/Audio sync • Like “Google Maps” but for “Time” Monday, June 1, 2009 Android Version 98% Shared Code with Web version Monday, June 1, 2009 Android • Full API stack • Tight integration with WebKit browser • Local database, 2D and 3D APIs • External XML UI/Layout system • Makes separating presentation from logic easier, benefits code sharing Monday, June 1, 2009 How was this done? • Google Web Toolkit is the Foundation • Target GWT JRE as LCD • Use Guice Dependency Injection for platform-specific APIs • Leverage GWT 1.6 event system Monday, June 1, 2009 Example App Code Device/Service JRE interfaces Guice Android Browser Impl Impl Android GWT Specific Specific Monday, June 1, 2009 Shared Widget Events interface HasClickHandler interface HasClickHandler addClickHandler(injectedHandler) addClickHandler(injectedHandler) Gin binds GwtHandlerImpl
    [Show full text]
  • Download from App Store to File Converter Download from App Store to File Converter
    download from app store to file converter Download from app store to file converter. Completing the CAPTCHA proves you are a human and gives you temporary access to the web property. What can I do to prevent this in the future? If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware. If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices. Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store. Cloudflare Ray ID: 67d50b368e5dc3cf • Your IP : 188.246.226.140 • Performance & security by Cloudflare. Download from app store to file converter. Completing the CAPTCHA proves you are a human and gives you temporary access to the web property. What can I do to prevent this in the future? If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware. If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices. Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.
    [Show full text]