Statische Software-Analyse und Malwareerkennung für Android-Smartphones

Größe: px
Ab Seite anzeigen:

Download "Statische Software-Analyse und Malwareerkennung für Android-Smartphones"

Transkript

1 Statische Software-Analyse und Malwareerkennung für Android-Smartphones Martin Ussath Masterarbeit. 17. Oktober Arbeitsgruppe Embedded Malware. Erstprüfer: Zweitprüfer: Betreuer: Prof. Dr. Thorsten Holz Prof. Dr. Jörg Schwenk Johannes Hoffmann

2

3 Zusammenfassung Aktuell geht eine hohe Bedrohung von Malware für Smartphones aus, dies gilt insbesondere für Geräte mit Android-Betriebssystem. Unabhängig von dem jeweiligen Einsatzzweck der schadhaften Anwendungen, ist deutlich zu erkennen, dass sowohl die Anzahl aber auch die Komplexität dieser Applikationen zunimmt, wodurch die Analyse erheblich erschwert wird. Deshalb wird im Rahmen dieser Arbeit das Statische Malware Analyse Framework entwickelt und vorgestellt, welches die statische Analyse von Android-Anwendungen vereinfachen soll. Durch die Integration und Verknüpfung von bereits vorhanden Tools und selbst implementierten Komponenten, kann die Analyse sehr umfassend und komfortabel unterstützt werden. Die grafische Benutzeroberfläche des Frameworks erlaubt es, dass viele Informationen übersichtlich dargestellt werden können und die Verwendung, der integrierten Funktionen, intuitiv möglich ist. Die automatische Erzeugung, des für die Analyse relevanten Codes sowie die Bereitstellung von Kontrollflussgraphen sind nur zwei Beispielfunktionen, durch die die Analyse vereinfacht wird. Durch eine Heuristik- Funktion können außerdem einzelne oder eine Vielzahl von Anwendung bewertet werden, wodurch auch potentiell schadhafte Anwendungen identifiziert werden können. Die Evaluierung der Heuristik zeigt, dass die Ergebnisse dieser Funktion die Analyse effektiv unterstützen können und zusammen mit den anderen Funktionen des Frameworks, die Untersuchung von Android-Anwendungen erheblich verbessert werden kann. Dieses Tool bietet damit, nach dem Wissen des Autors, den umfassendsten Funktionsumfang für eine statische Analyse.

4

5 i Declaration I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person nor material which to a substantial extent has been accepted for the award of any other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text. Erklärung Hiermit versichere ich, dass ich die vorliegende Arbeit selbstständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe, dass alle Stellen der Arbeit, die wörtlich oder sinngemäß aus anderen Quellen übernommen wurden, als solche kenntlich gemacht sind und dass die Arbeit in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegt wurde. Date author

6

7 iii Danksagung Zunächst möchte ich mich bei Prof. Dr. Thorsten Holz bedanken, der mir die Möglichkeit gegeben hat, im Rahmen meiner Masterarbeit dieses interessante Thema zu bearbeiten. Insbesondere bedanke ich mich auch für die gute Betreuung und die anregenden Diskussionen. Ebenso möchte ich meinem Betreuer Johannes Hoffmann danken, der mir stets konstruktives Feedback gegeben hat. Mein Dank gilt auch Prof. Dr. Jörg Schwenk, für seine Rolle als Zweitprüfer. Weiterhin möchte ich Michael Spreitzenbarth und Alexander Burris danken, die mir verschiedene Malware Samples zur Verfügung gestellt haben, ohne die diese Arbeit nicht realisierbar gewesen wäre. Außerdem bedanke ich mich bei Tilman Frosch, der mir umfangreiche Informationen über das maschinelle Lernen zugesendet hat. Nicht zuletzt möchte ich auch meinen Eltern, meiner Schwester und meinen Freunden für die Unterstützung sowie für alle Ratschläge danken.

8

9 Inhaltsverzeichnis 1 Einleitung Motivation Ziele Bisherigen Arbeiten Aufbau der Arbeit Allgemeines zu Android Systemarchitektur Grundlagen der Anwendungsentwicklung AndroidManifest Intents und Intent Filter Uses-permission Komponenten Activity Service Broadcast Receiver Content Provider Nativer Code Dalvik Bytecode Statisches Malware Analyse Framework (SMAF) Allgemeines Vom Android Package zum Byte- und Sourcecode Kontrollflussgraphen Identifizierung von Basis Blöcken und Kanten innerhalb von Dalvik Bytecode Darstellung Dynamische Krypto-Komponente Grafische Benutzeroberfläche Sonstige Funktionen Durchsuchen des Dalvik Bytecodes Strings innerhalb des Dalvik Bytecodes Syntaxhervorhebung des Dalvik Bytecodes Navigation durch den Dalvik Bytecode Vergleichen von Anwendungen Selbst implementierte kryptographische Algorithmen

10 vi Inhaltsverzeichnis 4 Malware Zielplattform Android Klassifizierung Unterscheidungsmerkmale Ausführen des schadhaften Codes Berechtigungen Potentiell schadhafte Funktionen Sonstige Besonderheiten Heuristik Applikationen aus dem Android Market Abfragen der IDs Herunterladen der Anwendungen Analyse der Manifest-Dateien von nicht schadhaften Applikationen Berechtigungen Activities und Broadcast Receiver Berechtigungen und Activities Heuristik-Funktion innerhalb von SMAF Unterstützung der Analyse einzelner Anwendungen Bewertung vieler Applikationen Evaluierung Verwendete Heuristik-Merkmale Malware Samples Legitime Anwendungen Zusammenfassung Schlussfolgerungen Fazit A Abkürzungsverzeichnis 79 B Vollständige Berechtigungs-Statistik der Android Market Applikationen 81 C Erkannte Heuristik-Merkmale einiger Malware Samples 85 Abbildungsverzeichnis 91 Tabellenverzeichnis 93 Listings 95 Literaturverzeichnis 97

11 1 Einleitung Im folgenden Kapitel wird zunächst erläutern, welche Problematik innerhalb dieser Arbeit behandelt wird und warum diese derart relevant ist. Danach werden die verschiedenen Ziele vorgestellt, die erreicht werden sollen. Anschließend werden bisherige Arbeiten genannt, die sich mit der selben Problematik beschäftigen. Im Anschluss werden die einzelnen Teile und der Aufbau der Arbeit kurz vorgestellt. 1.1 Motivation Mobile Endgeräte wie Mobiltelefone, Tablet-PCs oder Note- bzw. Netbooks haben sich in der heutigen Zeit zu unseren ständigen Begleitern entwickelt. Besonders Smartphones werden stark nachgefragt, was dazu geführt hat, dass die Verkäufe im Jahr 2010 um 72 % gestiegen sind und damit 19 % aller verkauften mobilen Telekommunikationsgeräte Smartphones waren [3]. Ein Smartphone vereint dabei sowohl den Funktionsumfang eines normalen Mobiltelefons, als auch den eines PDAs (Personal Digital Assistant). Besondere Merkmale eines Smartphones sind dabei das relativ große und hochauflösende Display, die Möglichkeit Anwendungen auf dem Gerät installieren zu können und eine fast ständige Internetverbindung, die über verschiedene Protokolle ermöglicht wird. Auf Grund dieses großen Funktionsumfangs, werden diese Gerät sowohl von Endkunden also auch von Geschäftskunden stark genutzt, was dazu führen kann, dass sich viele sensible und personenbezogene Daten auf einem Smartphone befinden. Android ist ein Open Source Betriebssystem primär für mobile Endgeräte, welches auf dem Linux Kernel 2.6 basiert. Es wird von einem Konsortium verschiedener Firmen entwickelt, die sich unter der Leitung von Google zur Open Handset Alliance [1] zusammengeschlossen haben, um offene Standards für mobile Endgeräte zu schaffen. Gartner prognostiziert, dass bis zum Jahresende 2012 auf rund 50 % der Smartphones ein Android- Betriebssystem installiert sein wird [2]. Die größte Besonderheit dieses Betriebssystems ist, dass es über eine sogenannte Dalvik Virtual Machine (DVM) verfügt, die für die Ausführung der Anwendungen verantwortlich ist. Die Applikationen bestehen dabei aus einem apk-archiv, welches unter anderem eine Manifest-Datei enthält und eine dex-datei, die den Dalvik Bytecode der Anwendung beinhaltet. Durch den hohen Verbreitungsgrad und Funktionsumfang von Smartphones mit Android- Betriebssystem sind diese Geräte zu einem attraktiven Ziel für Kriminelle geworden. Durch Schadsoftware ist es ihnen möglich zum einen direkt Geld zu erwirtschaften oder auch die privaten Daten zu stehlen. Viele Nutzer glauben, dass ein Smartphone lediglich ein besseres Mobiltelefon ist und unterschätzen dadurch das hohe Gefahrenpotential

12 2 1 Einleitung von schadhaften Anwendungen. Diese Fehleinschätzung hängt damit zusammen, dass es nur sehr wenige schadhafte Anwendungen für Mobiltelefone gibt und somit das Wissen bzw. die Erfahrungen fehlen das Smartphones von Malware stark betroffen sind. Das unterschiedlich hohe Gefahrenpotential von Malware auf Mobiltelefonen und Smartphones ist größtenteils darauf zurückzuführen, dass es in der Regel bei Mobiltelefonen nicht die Möglichkeit gibt zusätzlichen Anwendung installieren zu können. Diese Funktionalität ist jedoch eine Grundvoraussetzung für die effektive Verbreitung von Schadsoftware. Aktuelle Analysen zeigen, dass derzeitig das Android-Betriebssystem die häufigste Zielplattform für Mobile Malware ist. Das in Abbildung 1.1 dargestellte Diagramm zeigt eindeutig, dass über 60 % der Schadsoftware für Android entwickelt wird. Außerdem ist erkennbar, dass der Funktionsumfang der Malware immer stärker zunimmt und mittlerweile vergleichbar mit Schadsoftware für Computer ist. [4] Abbildung 1.1: Prozentuale Verteilung von Mobile Malware im zweiten Quartal 2011 [4]. Besonders bedrohlich ist diese Situation vor allem auch, weil die Malware nicht nur über dubiose Internetseiten und alternative Markets Verbreitung findet, sondern auch über den von Google betriebenen Android Market [8]. Diese offizielle Plattform genießt jedoch bei den Nutzern ein hohes Maß an Vertrauen, nicht zuletzt deshalb, weil dieser Market standardmäßig verwendet wird und deshalb vermeintlich als gut überwacht und kontrolliert gilt. Durch dieses Vertrauensverhältnis wird jedoch die Verbreitung von Malware begünstigt, weil die meisten Benutzer ohne die nötige Aufmerksamkeit Anwendungen installieren. So wurden zum Beispiel die verschiedenen Varianten des DroidDream Trojaners innerhalb von vier Tagen zwischen und mal installiert [7]. Weiterhin sah es Google bereits als erforderlich an, Malware ohne die Zustimmung der Nutzer von infizierten Android-Smartphones zu löschen [46]. Durch dieses hohe Bedrohungspotential ist es erforderlich, dass Anwendungen zielgerichtet und schnell analysiert werden können und anschließend entschieden werden kann, ob

13 1.2 Ziele 3 es sich um Malware handelt oder nicht. Weil Android-Applikationen Dalvik Bytecode verwenden, ist es für eine Analyse zunächst erforderlich diesen Bytecode verstehen zu können. Eine weitere Schwierigkeit, besteht darin, dass bis jetzt fast ausschließlich nur Kommandozeilen Tools für die statische Analyse von Android-Applikationen existieren. Deshalb erhöht sich der Analyseaufwand teilweise erheblich, weil verschiedenste Tools manuell nacheinander aufgerufen und verwendet werden müssen. Der Aufwand für die Analyse einer Schadsoftware für Android hängt außerdem stark vom Typ der Malware ab. Dies reicht von sehr simpler Schadsoftware, die zum Beispiel einzelne SMS-Nachrichten im Hintergrund versendet, bis zu sehr komplexer Malware die über verschiedenste Möglichkeiten der Fernsteuerung verfügt und beispielsweise eine legitime Anwendung als Tarnung verwendet. Besonders für komplexe schadhafte Anwendungen, die zusätzlich noch Laufzeitentschlüsselung und andere Obfuscierungstechniken benutzen, ist eine statische Analyse extrem aufwändig bis fast nicht mehr durchführbar. Dies hängt auch damit zusammen, dass es zur Zeit noch keine Tools gibt, die die Analyse von komplexer Malware effektiv unterstützten können. Weil jedoch die Malwareautoren ihre Schadsoftware immer stärker weiterentwickeln und auch versuchen die Analyse immer mehr zu erschweren, handelt es sich immer öfters um eher komplexere Malware. Nicht nur die detaillierte Analyse von Malware kann sehr aufwändig sein, sondern auch die Bewertung von einer Vielzahl von Anwendung ist in der Regel sehr zeitintensiv. Grundsätzlich wäre es jedoch erforderlich zunächst jede neue Anwendung aus einem Market grob zu bewerten und bei Auffälligkeiten eine genauere Analyse durchzuführen. Wegen der Anzahl an neuen Applikationen ist eine solche Bewertung nur sinnvoll, wenn sie automatisiert erfolgen kann. Dazu fehlen jedoch derzeit ebenfalls die entsprechenden Tools. Auf Grund dieser verschiedenen Umstände ist es erforderlich, dass die derzeitige Situation bei der Analyse von Android-Malware verbessert wird. Deshalb wird im Rahmen dieser Arbeit ein Tool entwickelt, welches sowohl die Analyse einzelner Anwendungen effektiv unterstützt, als auch die Bewertung vieler Applikationen ermöglicht. 1.2 Ziele Das primäre Ziel dieser Arbeit ist es, ein statisches Malware Analyse Framework zu implementieren, welches in der Lage ist apk-archive zu verarbeiten. Durch dieses Framework soll die statische Analyse von Android-Applikationen möglichst optimal unterstützt werden. Deshalb ist für die Untersuchung einzelner Anwendungen eine grafische Benutzeroberfläche vorgesehen, damit alle im Framework integrierten Funktionen unkompliziert verwendet werden können und eine übersichtliche Darstellung der Informationen möglich ist. Für die Analyse einer Anwendung, ist es zunächst erforderlich alle im apk-archiv enthalten Dateien zu konvertieren, damit diese für die Untersuchung genutzt werden können. Dabei soll neben dem Dalvik Bytecode, der sich innerhalb der Dalvik Exceutible

14 4 1 Einleitung befindet, auch der Java Code der einzelnen Klassen erzeugt werden. Zur weiteren Unterstützung der statischen Analyse, sind unter anderem Funktionen vorgesehen, die eine Syntaxhervorhebung innerhalb des Dalvik Bytecodes realisieren oder die Erzeugung und Darstellung von Kontrollflussgraphen, auf Basis des Bytecodes, ermöglichen. Ebenfalls zur Vereinfachung der Untersuchungen soll es möglich sein, dass aus zwei verschiedenen Applikationen die jeweiligen Klassen verglichen werden können. Für eine gezielte Analyse von Applikationen ist es hilfreich, wenn eventuell schadhafte Codeabschnitte für eine detaillierte Untersuchung markiert werden. Deshalb soll innerhalb des Frameworks auch eine Heuristik integriert werden, die auf Basis von verschiedenen Merkmalen solche Abschnitte identifiziert und damit auch eine Bewertung der Anwendung ermöglicht. Weil ebenfalls das Ziel besteht eine Vielzahl von Anwendungen automatisiert bewerten zu lassen, soll das Statische Malware Analyse Framework auch über eine Kommandozeilenschnittstelle verfügen. Für die statische Analyse stellt die Verwendung von Laufzeitentschlüsselung und verschlüsselung ein erhebliches Problem dar. Dadurch wird die Untersuchung der jeweiligen Anwendungen deutlich erschwert. Deshalb soll eine zusätzliche Funktion implementiert werden, die eine Anwendung derart anpasst, dass die entsprechenden Daten zur Laufzeit ausgegeben werden können. 1.3 Bisherigen Arbeiten Nach aktuellem Kenntnisstand des Autors existiert bis zum jetzigen Zeitpunkt (Ende September 2011) kein Tool, welches die Analyse von Android-Anwendungen derart umfassend und komfortable unterstützt. Es existieren zwar Tools wie das android-apktool [21], dex2jar [26], jad [24] oder smali bzw. baksmali [22], diese unterstützen jedoch jeweils nur einen speziellen Teil der Analyse. Des Weiteren handelt es sich dabei um Kommandozeilentools, so dass sich die Verwendung als relativ unkomfortabel darstellt. Das Tool androguard [40] hingegen besitzt einen umfassenderen Ansatz und ist vom Funktionsumfang teilweise vergleichbar mit dem Statischen Malware Analyse Framework. Jedoch handelt es sich hierbei ebenfalls um ein Kommandozeilentool, so dass sich auch hier die Analyse von Applikationen als relativ unkomfortabel darstellt. Ein weiteres Tool, welches teilweise androguard verwendet und im Rahmen des Google Summer of Code entwickelt wird, ist der APKInspector [42]. Dieser verfügt zwar über eine grafische Benutzeroberfläche, welche eine komfortable Verwendung ermöglicht, jedoch wird die Analyse durch den jetzigen Funktionsumfang noch nicht sehr umfassend unterstützt.

15 1.4 Aufbau der Arbeit 5 Mittels IDA Pro kann seit der Version 6.1 ebenfalls Davlik Bytecode disassembliert und analysiert werden, jedoch ist dieses Programm zum einen kostenpflichtig und zum anderen verfügt es auch nicht standardmäßig über zusätzliche Funktionen, die die Analyse effektiven unterstützen. 1.4 Aufbau der Arbeit Im Rahmen der Arbeit wird zunächst auf die Grundlagen des Android-Betriebssystems und der Anwendungsentwicklung eingegangen (Kapitel 2). Dabei wird zu Beginn die Systemarchitektur (Abschnitt 2.1) näher erläutert und anschließend kurz auf die Anwendungsentwicklung (Abschnitt 2.2) eingegangen. Danach werden alle relevanten Grundlagen für die Analyse von Applikationen vorgestellt. Dazu wird in Abschnitt 2.3 näher auf das Manifest und seine Besonderheit eingegangen. Anschließend werden die wichtigsten Eigenschaften der verschiedenen Komponenten (Abschnitt 2.4) innerhalb von Android beschrieben. Weil in Applikationen auch nativer Code verwendet werden kann, wird in Abschnitt 2.5 genauer auf diesen Aspekt eingegangen. In Abschnitt 2.6 wird anhand eines Beispiels erläutert, wie Dalvik Bytecode zu verstehen ist und analysiert werden kann. In Kapitel 3 wird anschließend das Statische Malware Analyse Framework (SMAF) vorgestellt. Dazu wird zunächst in Abschnitt 3.1 allgemeines zum Framework erläutert. Im Anschluss werden die verschiedenen Schritte vorgestellt um ein Android Package zu Dalvik Bytecode und Java Code zu konvertieren (Abschnitt 3.2). Für eine zusätzliche Unterstützung der Analyse können auch Kontrollflussgraphen erzeugt und dargestellt werden. Diese Funktion des Frameworks wird in Abschnitt 3.3 näher beschrieben. Weil besonders die Laufzeitentschlüsselung und -verschlüsselung für eine statische Analyse problematischen sind, existiert eine dynamische Krypto-Komponente (Abschnitt 3.4), welche die Vorteile der dynamischen Analyse nutzt. Anschließend wird die grafische Benutzeroberfläche (Abschnitt 3.5) von SMAF vorgestellt. Die Funktionsweise der sonstigen Funktionen, die die Analyse vereinfachen und beschleunigen sollen, wird in Abschnitt 3.6 erläutert. Weil es das primäre Ziele dieser Arbeit ist, Malware für Android zu analysieren und zu erkennen, wird in Kapitel 4 näher auf Schadsoftware eingegangen. Zuerst werden die verschiedenen Gründe vorgestellt (Abschnitt 4.1), warum Android als Zielplattform für Malware derzeitig sehr interessant ist. Anschließend wird in Abschnitt 4.2 eine Möglichkeit beschrieben, wie Schadsoftware klassifiziert werden kann. Weil sowohl für die Analyse als auch für die Erkennung von Malware generische Unterscheidungsmerkmale besonders relevant sind, werden einige in Abschnitt 4.3 detaillierter erläutert. Für die Erkennung von Malware und die Unterstützung der Analyse ist innerhalb des Statischen Malware Analyse Frameworks auch eine Heuristik integriert (Kapitel 5). Für die Validierung der Heuristik wurden auch legitime Anwendung verwendet. Die Vorge-

16 6 1 Einleitung hensweise, wie über Anwendungen aus dem Android Market heruntergeladen wurden, wird in Abschnitt 5.1 beschrieben. Im darauf folgenden Abschnitt 5.2, wird für die Heuristik eine detaillierte Analyse der Manifest-Dateien von nicht schadhaften Applikationen durchgeführt. Im Anschluss (Abschnitt 5.3) wird die Funktionsweise der Heuristik und die Verwendungsmöglichkeiten vorgestellt. Innerhalb von Abschnitt 5.4 wird eine Evaluierung der Heuristik, anhand von Malware Samples und legitimen Anwendungen, durchgeführt. Abschließend werden in der Zusammenfassung (Kapitel 6) zunächst die Schlussfolgerungen (Abschnitt 6.1) dargestellt und anschließend alle relevanten Ergebnisse der Arbeit noch einmal zusammengefasst (Abschnitt 6.2).

17 2 Allgemeines zu Android Für die Analyse von legitimen Android-Anwendungen und Malware ist es zunächst erforderlich die Systemarchitektur von Android mit ihren Sicherheitseigenschaften zu kennen. Weiterhin ist es notwendig die Grundlagen der Android Anwendungsentwicklung zu verstehen, um später den erzeugten Bytecode analysieren zu können. Im folgenden Kapitel werden deshalb diese Grundlagen behandelt, jedoch unter der Maßgabe, dass sie relevant für eine spätere Analyse sind und deshalb wird nicht auf jedes Detail der Android Anwendungsentwicklung eingegangen. 2.1 Systemarchitektur Ein Überblick über die verschiedenen Schichten der Android Systemarchitektur sowie deren Hauptkomponenten gibt Abbildung 2.1. Die unterste Schicht bildet der Linux Kernel 2.6, welcher zur Abstraktion zwischen Hardware und dem restlichen Android Software-Stack dient. Dadurch ist es unter anderem möglich, dass Android die vorhanden Linux-Treiber nutzt und damit ohne größeren Schwierigkeiten auf unterschiedlicher Hardware betrieben werden kann. Aus diesem Grund kann das Android-Betriebssystem beispielsweise auf Geräten mit ARM, x86, MIPS oder PPC Prozessorarchitektur genutzt werden. Neben den Treibern verwendet Android außerdem noch das vom Linux-Kernel bereitgestellte Speichermanagement, Prozessmanagement, Energiemanagement sowie den Netzwerk-Stack. Weiterhin wird auch das Sicherheitssystem genutzt um beispielsweise zu gewährleisten, dass jede Android-Anwendung als ein separater Prozess ausgeführt wird. Zur Bereitstellung von Funktionalität gegenüber der darüber liegenden Schicht (Applikation Framework) setzt Android verschiedene C und C++ Standardbibliotheken ein, die meist aus dem Bereich der Open-Source-Software stammen. So wird beispielsweise SQ- Lite für Datenbanken, OpenGL für 3D Grafiken oder WebKit für Webseiten-Rendering verwendet. Die Android Laufzeitumgebung besteht zum einen aus den Kernbibliotheken, welche einen Großteil der Funktionalitäten bereitstellen, die auch die Kernbibliotheken von Java bieten. Zum anderen enthält die Laufzeitumgebung die Dalvik Virtual Machine (DVM), welche für die Ausführung der Android-Applikationen innerhalb des Betriebssystems verantwortlich ist. Sie wurde von Dan Bornstein und seinem Team bei Google komplett neu entwickelt und für den Einsatz auf mobilen Endgeräten optimiert. Auf Grund der speziellen Rahmenbedingungen der Endgeräte, wie begrenzte Batteriekapazität oder geringere

18 8 2 Allgemeines zu Android Anwendungsschicht Home Kontakte Telefon weitere... Applikations Framework Activity-Manager Fenster-Manager Content-Provider View System Paket-Manager Telefon-Manager Ressourcen- Manager Standort- Manager Standardbibliotheken Android Laufzeitumgebung SGL SQLite Kernbibliotheken SSL WebKit Dalvik Virtual Machine (DVM) libc OpenGL ES Linux Kernel Display Treiber Kamera Treiber Flash-Speicher Treiber Binder (IPC) Treiber Tastatur Treiber WLAN Treiber Audio Treiber Energiemanagement Abbildung 2.1: Systemarchitektur des Android-Betriebssystems [18]. Rechenleistung, wurde sich für eine Register-basierte virtuelle Maschine (VM) entschieden. Diese VMs haben den Vorteil, dass sie für die Ausführung von Standard Benchmarks im durchschnitt 32,3 % weniger Zeit benötigen als Stack-basierten VMs, wie die Java Virtual Machine (JVM) [56]. Weiterhin ist die DVM dahingehend optimiert, dass effizient mehrere Instanzen der VM parallel betrieben werden können. Dies stellt ein wichtiges Kriterium dar, weil auf Grund der Sicherheitsarchitektur von Android jede Anwendung in einer eigenen Instanz der VM ausgeführt wird und jede Instanz der DVM wiederum in einem eigenen Prozess läuft. Dies führt natürlich zu einem gewissen Overhead, jedoch wird durch die Trennung des Speichers der einzelnen Anwendungen eine größere Sicherheit und Verfügbarkeit erreicht. Für die Umsetzung dieser Funktionalität greift die DVM insbesondere auf das Threading sowie auf das systemnahe Speichermanagement des Linux-Kernels zurück. Durch die Entwicklung der DVM kann Android auf den Einsatz

19 2.2 Grundlagen der Anwendungsentwicklung 9 der JVM verzichten, was sonst zu lizenzrechtlichen Problemen geführt hätte, weil diese im Gegensatz zu der Java Programmiersprache, den Java Tools und den Java Bibliotheken nicht frei verfügbar ist. Außerdem existierte zum Beginn der DVM Entwicklung 2005 auch noch keine Open-Source Alternative. Das Applikations Framework ist die für die Anwendungsentwicklung relevanteste Schicht innerhalb der Android Systemarchitektur. Durch verschiedenste Java Klassen, die meist als Manager bezeichnet werden, wird unter anderem der Zugriff auf die Hardware (z. B. Sensoren, Kamera, Mikrophon, WLAN Interface usw.) ermöglicht. Wiederum andere Manager ermöglichen zum Beispiel das Starten von Hintergrundprozessen, die Gestaltung von grafischen Oberflächen oder auch das Versenden von SMS bzw. das Initiieren von Telefongesprächen. Die oberste Schicht innerhalb dieser Architektur stellt die Anwendungsschicht dar. Diese enthält neben den Standardanwendungen (Browser, Client, Kalender usw.) auch die Applikationen von Drittanbietern. Die Anwendungen greifen dabei auf die zur Verfügung stehenden Schnittstellen zu, um eine gewünschte Funktionalität realisieren zu können. Außerdem findet innerhalb dieser Schicht auch die Kommunikation zwischen den Anwendungen statt. ([51, S ], [53, S. 7-13], [18]) 2.2 Grundlagen der Anwendungsentwicklung Obwohl Android-Anwendungen in der Regel mittels der Programmiersprache Java entwickelt werden, gibt es einige relevante Unterschiede zu der herkömmlichen Java Entwicklung, die beachtet werden müssen. Deshalb wird im Folgenden auf alle wichtigen Bestandteile einer Android-Applikation eingegangen und im Anschluss der Erstellungsprozess eines Android Package (apk-archiv) beschrieben. Der erste wichtige Bestandteil einer Android-Anwendung ist die Manifest-Datei (AndroidManifest.xml). Diese enthält Informationen über die Anwendung selbst, ohne die Android nicht in der Lage ist den Code der Applikation auszuführen. Unter anderem wird in dieser Datei der Paketname, benötigte Berechtigungen, vorhandene Komponenten (Services, Activities, Broadcast Reciever, Content Provider) und die minimal benötigte Version der Android API gespeichert. Auf einige dieser Bestandteile wird in Abschnitt 2.4 detaillierter eingegangen. Eine weitere Besonderheit bei der Entwicklung von Android-Applikationen ist, dass die grafischen Benutzeroberflächen über XML-Dateien beschrieben werden. Diese Dateien befinden sich innerhalb des layout Ordners, welcher ein Unterordner des res (Ressource) Ordners ist. Für jede grafische Benutzeroberfläche muss eine extra XML-Datei erzeugt werden.

20 10 2 Allgemeines zu Android Für die Speicherung von einfachen Werten innerhalb der Anwendung existieren ebenfalls XML-Dateien. So werden beispielsweise Strings, die unter anderem für die Beschriftung von Knöpfen verwendet werden in der strings.xml Datei gespeichert. Des Weiteren können XML-Dateien für Farbwerte oder Arrays existieren. Alle diese Dateien befinden sich innerhalb des value Ordners, welcher ebenfalls ein Unterordner des Ressource Ordners ist. Um innerhalb des Java Codes auf die XML-Dateien zugreifen zu können, die sich unterhalb des Ressource Ordners befinden, existiert die R.java Datei. Diese Datei wird bei der Verwendung der Eclipse Entwicklungsumgebung automatisch erstellt. So ist es zum Beispiel möglich über R.layout.main auf die Layout-Datei main.xml zuzugreifen. Weil Android-Anwendungen über apk-archive bereitgestellt werden, muss aus den XML- Dateien, Ressourcendateien und dem Java Code ein Android Package erzeugt werden. Dieser Erstellungsprozess verfügt über mehrere Stufen und wird schematisch in Abbildung 2.2 dargestellt. Bei der Verwendung der Eclipse Entwicklungsumgebung werden alle diese Schritte automatisch durchgeführt. Besonders relevant innerhalb dieses Prozesses ist die Erzeugung der dex-datei (Dalvik Executable). Weil innerhalb des Android-Betriebssystems nicht die Java Virtual Machine genutzt wird, sondern die Dalvik Virtual Machine, wird auch anderer Bytecode benötigt. Für die Ausführung von Anwendungen innerhalb der DVM ist deshalb sogenannter Dalvik Bytecode erforderlich, welcher innerhalb der Dalvik Executable gespeichert wird. Um solchen Bytecode zu erzeugen ist es zunächst erforderlich den Java Code mit Hilfe eines Java Compilers in Java Bytecode zu übersetzen und anschließend ist es möglich mittels dem dx-tool den Dalvik Bytecode zu erzeugen. Obwohl sich der verwendete Bytecode innerhalb von Java Archiven (jar) und Android Packages unterscheidet, ähnelt sich der Erstellungsprozess teilweise stark. Dies ermöglicht es für eine spätere Analyse, ein Android Package in ein Java Archiv zu konvertieren. ([51, S ], [53, S ], [37], [41], [9]) 2.3 AndroidManifest Wie bereits erwähnt, wird innerhalb der Manifest-Datei die gesamte Android-Anwendung beschrieben. Deshalb wird diese Datei in der Regel auch als Einstiegspunkt für die Analyse von Anwendungen genutzt. Einen guten Überblick über die möglichen XML Tags sowie deren Verwendung gibt der Manifest Dev Guide von Android [9]. Anhand eines gekürzten Manifestes des Geinimi Trojaners, welches in Listing 2.1 dargestellt ist, wird grob der Aufbau eines Manifestes beschrieben. Wie üblich beginnt auch die AndroidManifest.xml Datei mit einer XML-Deklaration.

Einführung in Android. 9. Dezember 2014

Einführung in Android. 9. Dezember 2014 Einführung in Android 9. Dezember 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel 2.6 Managed Code, Angepasste Java

Mehr

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober 2010. FH-Gieÿen-Friedberg Android Praktikum Analyse der Android Plattform Andre Rein, Johannes Florian Tietje FH-Gieÿen-Friedberg Android Praktikum 28. Oktober 2010 Topics 1 Übersicht Android Plattform Application Framework Activities und Services

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine 1. Software-Plattform Android Android Was ist Android? Plattform und Betriebssystem für mobile Geräte (Smartphones, Mobiltelefone, Netbooks), Open-Source Linux-Kernel ab 2.6, aktuell 3.8 Managed Code,

Mehr

Sicherheit in Android

Sicherheit in Android Motivation Aufbau Sicherheit Ausblick Quellen Sicherheit in Android Peter Salchow INF-M2 - Anwendungen 1 Sommersemester 2008 Department Informatik HAW Hamburg 20. Mai 2008 Peter Salchow Sicherheit in Android

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum ca. 10 Wochen

Mehr

Softwareentwicklungsprozess im Praktikum. 25. April 2013

Softwareentwicklungsprozess im Praktikum. 25. April 2013 Softwareentwicklungsprozess im Praktikum 25. April 2013 Agile Softwareentwicklung Eine agile Methodik stellt die beteiligten Menschen in den Mittelpunkt und versucht die Kommunikation und Zusammenarbeit

Mehr

Mobile App Development. - Einführung -

Mobile App Development. - Einführung - Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

Android. 2 24.09.2013 Mobile Systeme - Android

Android. 2 24.09.2013 Mobile Systeme - Android Android 24.09.2013 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer speziellen JVM

Mehr

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A

App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A App Entwicklung für Android F O R T G E S C H R I T T E N E P R O G R A M M I E R U N G I N J A V A D O Z E N T : R E F E R E N T : P R O F. D R. K L I N K E R R I C O L O S C H W I T Z Aufbau der Präsentation

Mehr

Mobile Systeme Android 07.04.2011

Mobile Systeme Android 07.04.2011 Mobile Systeme Android 07.04.2011 Android Plattform/Betriebssystem für mobile Endgeräte wie z.b. Smartphones Basiert auf dem Linux Kernel Bis auf grundlegende Prozesse werden alle Anwenden mithilfe einer

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

4. Software-Komponenten in Android

4. Software-Komponenten in Android 4. Software-Kompponenten in Android Lernziele 4. Software-Komponenten in Android Themen/Lernziele Intents: Explizite und implizite Intents Intent-Filter Intent-Resolution Sub-Activities Broadcast Intents

Mehr

Mobile App Development

Mobile App Development Mobile App Development - Einführung - Inhalt Organisatorisches Vorlesungsinhalt Mobile Geräte Android Architektur App Aufbau Praktikum Organisatorisches 4 SWS, 5 ECTS 2 Vorlesung / 2 Praktikum 10 Wochen

Mehr

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen

Google's Betriebssystem für mobile Plattformen. Vortrag von Michaela Rindt Universität Siegen Google's Betriebssystem für mobile Plattformen Vortrag von Michaela Rindt Universität Siegen Übersicht Einleitung Softwarearchitektur Softwareentwicklung für Android Unterschied zu anderen mobilen Plattformen

Mehr

2. GUI-Programmierung für mobile Geräte

2. GUI-Programmierung für mobile Geräte 2. GUI-Programmierung für mobile Geräte Lernziele 2. GUI-Programmierung für mobile Geräte Themen/Lernziele: Einführung Lebenszyklus einer Android-Anwendung Beispiele GUI-Elemente Einbindung externer Ressourcen

Mehr

Apps Programmierung von Android-Smartphones

Apps Programmierung von Android-Smartphones Apps Programmierung von Android-Smartphones 2/34 Android-Apps Gliederung: Warum? / Warum Android? Grundlagen Beispiel (sehr kurz) weitere Möglichkeiten Einsatz im Unterricht Diskussion / Fragen 3/34 Smartphone-Programmierung

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Organisatorisches Anmelden im Web: ZIV Lehre Anmelden Anwesenheitsliste Anwesenheitsschein bei 75% Anwesenheit Allgemeine

Mehr

Erste Erfahrungen mit Android

Erste Erfahrungen mit Android Java User Group München, 22. 9. 2008 Erste Erfahrungen mit Android 1 Was ist Android? Die erste vollständige, offene und freie Plattform für mobile Telefone Entwickelt von der Open Handset Alliance (Telecoms,

Mehr

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag

Arno Becker Marcus Pant. Android. Grundlagen und Programmierung. I dpunkt.verlag Arno Becker Marcus Pant Android Grundlagen und Programmierung I dpunkt.verlag IX 1 Ein erstes Beispiel 3 1.1 Projekt anlegen 3 1.2 Die erste Activity 4 1.3 Layout definieren 5 1.4 Activities aufrufen 8

Mehr

In diesem Kapitel beschäftigen wir uns mit der Systemarchitektur von Android, die in Abbildung 2-1 skizziert ist. Location Manager

In diesem Kapitel beschäftigen wir uns mit der Systemarchitektur von Android, die in Abbildung 2-1 skizziert ist. Location Manager 15 2 Systemaufbau In diesem Kapitel beschäftigen wir uns mit der Systemarchitektur von Android, die in Abbildung 2-1 skizziert ist. Anwendungsschicht Android- Drittanbieter- Eigene Abb. 2-1 Die Android-

Mehr

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14

Android - Basics. 16.10.2013 Praktikum Enwicklung von Mediensystemen WS13/14 Android - Basics 1 Heute Was ist Android? Programmieren für Android App-Struktur Activities und Intents App-Design GUI und Layout 2 Android in a nutshell Open-Source (Open Headset Alliance) Basiert auf

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

Mehr

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia

Auf einen Blick. Elementare Anwendungsbausteine. Telefonfunktionen nutzen. Dateien und Datenbanken. Organizer und Multimedia Auf einen Blick Auf einen Blick TEIL I Grundlagen 1 Android eine offene, mobile Plattform... 21 2 Hallo Android!... 43 3 Von der Idee zur Veröffentlichung... 73 TEIL II Elementare Anwendungsbausteine 4

Mehr

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage

Android 2. Grundlagen und Programmierung. dpunkt.verlag. Arno Becker Marcus Pant. 2., aktualisierte und erweiterte Auflage Arno Becker Marcus Pant Android 2 Grundlagen und Programmierung 2., aktualisierte und erweiterte Auflage Unter Mitarbeit von David Müller dpunkt.verlag IX I Inhaltsverzeichnis I Einführung 1 1 Ein erstes

Mehr

Seminar Multimediale Werkzeuge Sommersemester 2011

Seminar Multimediale Werkzeuge Sommersemester 2011 Seminar Multimediale Werkzeuge Sommersemester 2011 Dipl.-Ing. Marco Niehaus marco.niehaus@tu-ilmenau.de 09.06.2011 Page 1 Android Development - Installation Java SDK wird benötigt (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Bachelor Thesis Michael Barth

Bachelor Thesis Michael Barth Bachelor Thesis Michael Barth 1. One-Time Passwords 2. OTPW 3. Android Plattform 4. App Entwicklung 5. OTPManager App Umgeht Sicherheitsversprechen durch verschlüsselte Passwörter komplett Password muss

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Android C++ Native SDK

Android C++ Native SDK 1 Android C++ Native SDK Android NDK - Android Native Development Kit W3L AG info@w3l.de 2014 2 Inhaltsverzeichnis Android Android NDK Unterstützte Bibliotheken Entwicklung in NDK Java Native Interface

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme Agenda Mobile Agenten allgemein JADE - Java Agent DEvelopment Framework Anwendungsfall

Mehr

Einführung in Android. 22. Oktober 2014

Einführung in Android. 22. Oktober 2014 Einführung in Android 22. Oktober 2014 Was ist Android? Software für mobile Geräte: Betriebssystem Middleware Kernanwendungen Android SDK: Tools und APIs zur Entwicklung von Anwendungen auf der Android-Plattform

Mehr

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

1 Der Einstieg in Java für Android

1 Der Einstieg in Java für Android 1 1 Der Einstieg in Java für Android Diese Ergänzung zum Buch Programmieren in Java will Ihnen dabei helfen, erste Programme für Smartphones der Android Plattform von Google zu erstellen und diese Programme

Mehr

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

Mehr

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück

Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Ausarbeitung zum Vortrag Java Web Start von Adrian Fülöp Fach: Komponentenbasierte Softwareentwicklung WS 06/07 Fachhochschule Osnabrück Adrian Fülöp (297545) - 1 - Inhaltsverzeichnis: 1. Einführung 2.

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli 2003. Zusammenfassung Fertigprodukte Bruno Blumenthal und Roger Meyer 18. Juli 2003 Zusammenfassung Dieses Dokument beschreibt die Fertigprodukte welche im Projekt NetWACS eingesetzt werden sollen. Es soll als Übersicht dienen

Mehr

Mobile Application Plattforms

Mobile Application Plattforms Mobile Application Plattforms Trends in der Kommunikationstechnik DI Franz Geischläger Agenda Mobile Applications Allgemeine Betrachtung Mobile Betriebssysteme und Plattformen Die wichtigsten Vertreter

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Hardware «Jinn» mit Doppel-Servos parallel bewegt.

Hardware «Jinn» mit Doppel-Servos parallel bewegt. Hardware «Jinn» Höhe: 1060 mm Breite: 320 mm Gewicht: ca. 5.3 Kg Freiheitsgrade: 22 Tragkraft der Arme: ca. 200 g Akku: LiFe 2S 4.0 Ah 6.6 Volt Akku-Betriebsdauer: ca. 0,5 Std. Ein kleines Akkuladegerät

Mehr

Handbuch TweetMeetsMage

Handbuch TweetMeetsMage Handbuch TweetMeetsMage für Version 0.1.0 Handbuch Version 0.1 Zuletzt geändert 21.01.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Voraussetzungen... 3 1.2 Funktionsübersicht... 3 2 Installation... 4

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM. Seminar: Datenbankunterstützung für mobile GIS Michael Goj

GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM. Seminar: Datenbankunterstützung für mobile GIS Michael Goj GEO-DIENSTE AUF BASIS DER ANDROID-PLATTFORM Seminar: Datenbankunterstützung für mobile GIS Michael Goj AGENDA Einleitung Standortbezogene Dienste und Anwendungen Geo-Dienste Die Android-Plattform Google

Mehr

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Datenhaltung für Android Model First 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Agenda Datenhaltung in Android Motivation / Projektziele Projekt Umsetzung Stand der Entwicklung Fazit 2 Datenhaltung

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen Inhalt Motivation allgemeine Bedrohungen für mobile Endgeräte bösartige Anwendungen für

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Einführung in Android

Einführung in Android Einführung in Android FH Gießen Friedberg 12. Oktober 2010 Inhalt Historie / Prognosen / Trends Grundlagen Entwicklungsumgebung Standardbeispiel Erweitertes Beispiel Übung / Quellen 2 Grundlagen - Historie

Mehr

Shibboleth Clustering und Loadbalancing

Shibboleth Clustering und Loadbalancing Shibboleth Clustering und Loadbalancing STEINBUCH CENTRE FOR COMPUTING - SCC KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Computercluster

Mehr

Einrichtungsanleitung Exchange Server Synchronisation

Einrichtungsanleitung Exchange Server Synchronisation Einrichtungsanleitung Exchange Server Synchronisation www.simplimed.de Dieses Dokument erhebt keinen Anspruch auf Vollständigkeit oder Korrektheit. Seite: 2 1. Die Exchange Server Synchronisation (EXS)

Mehr

JDroidLib mit Eclipse (Mac/Linux/Windows)

JDroidLib mit Eclipse (Mac/Linux/Windows) JDroidLib mit Eclipse (Mac/Linux/Windows) Version 1.3, 25. März 2013 (Unter Windows besser die ADT-Bundle Version installieren, siehe entsprechende Anleitung) Vorbereitungen: 1. JDK SE neuste Version installieren,

Mehr

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0

Leistungsbeschreibung. PHOENIX Archiv. Oktober 2014 Version 1.0 Leistungsbeschreibung PHOENIX Archiv Oktober 2014 Version 1.0 PHOENIX Archiv Mit PHOENIX Archiv werden Dokumente aus beliebigen Anwendungen dauerhaft, sicher und gesetzeskonform archiviert. PHOENIX Archiv

Mehr

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Ein Auszug aus... Studie Content Management Systeme im Vergleich Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Entwickeln für Android OS

Entwickeln für Android OS Entwickeln für Android OS Am Beispiel der WAPLA Wissenschaftliche Arbeitstechniken und Präsentation Lern Applikation Christian Kain Kevin Kain Wolfgang Kremser Gregor Bankhamer Warum Android? Verbreitung

Mehr

Java - Programmierung für Android. Leibniz Universität IT Services Anja Aue

Java - Programmierung für Android. Leibniz Universität IT Services Anja Aue Java - Programmierung für Android Leibniz Universität IT Services Anja Aue Bücher Dirk Luis / Peter Müller: Android Thomas Künneth: Android 5: Apps entwickeln mit Android Studio Dawn Griffiths, David Griffiths:

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de

Android Entwicklung. App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger. Twitter: #app2010 @greenrobot_de Android Entwicklung App Entwickler Konferenz 2010 Bonn, 17. November Markus Junginger Twitter: #app2010 @greenrobot_de Über mich Markus Junginger, greenrobot 2007: Erste Android App 2001: Erstes Mobile

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

JBuilderX: Installation und Kurzanleitung (Windows)

JBuilderX: Installation und Kurzanleitung (Windows) JBuilder X Seite 1 JBuilderX: Installation und Kurzanleitung (Windows) 1. JBuilder installieren Eine Gratis-Version kann von der Webseite www.borland.de heruntergeladen werden. Systemvoraussetzungen: 256

Mehr

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg

Connecting Android. Externe Hardware mit dem grünen Roboter verbinden. Alexander Dahmen Dominik Helleberg Connecting Android Externe Hardware mit dem grünen Roboter verbinden Alexander Dahmen Dominik Helleberg Speaker Dominik Helleberg Mobile Development Android / Embedded Tools http://dominik-helleberg.de/+

Mehr

Fachseminar Android. Tobias Braumann Wintersemester 2009/10 Matrikelnummer.: 353640

Fachseminar Android. Tobias Braumann Wintersemester 2009/10 Matrikelnummer.: 353640 Fachseminar Android Wintersemester 2009/10 Matrikelnummer.: 353640 Inhalt 0 Vorwort... 3 1 Allgemeines zu Android... 4 1.1 Einleitung... 4 1.2 Warum Android?... 4 1.3 Entwicklungshistorie... 5 1.4 Open

Mehr

E-Mail-Archivierung für Microsoft Outlook und Exchange Server

E-Mail-Archivierung für Microsoft Outlook und Exchange Server windream Exchange E-Mail-Archivierung für Microsoft Outlook und Exchange Server 2 E-Mail-Archivierung für Microsoft Outlook und Exchange Server Das ständig wachsende Volumen elektronischer Mitteilungen

Mehr

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl SMARTPHONES Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl A-SIT/Smartphones iphone security analysis (Q1 2010) Blackberry security analysis (Q1 2010) Qualifizierte Signaturen und Smartphones

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

2. Auflage. Behandelt Android 4.3. O Reillys Taschenbibliothek. Android. Programmierung. kurz & gut O REILLY. Jörg Staudemeyer

2. Auflage. Behandelt Android 4.3. O Reillys Taschenbibliothek. Android. Programmierung. kurz & gut O REILLY. Jörg Staudemeyer O Reillys Taschenbibliothek 2. Auflage Behandelt Android 4.3 Android Programmierung kurz & gut O REILLY Jörg Staudemeyer Glossar Wenn man beginnt, sich mit der Anwendungsentwicklung unter Android zu beschäftigen,

Mehr

Programmierkonzepte von Android am Beispiel

Programmierkonzepte von Android am Beispiel Programmierkonzepte von Android am Beispiel Dominik Gruntz, Jörg Pleumann Android ist eine Open-Source-Plattform fur mobile Gerate. In JavaSPEKTRUM wurde schon ein Uberblick uber Android gegeben. In diesem

Mehr

DSLinux Skriptbasierte Inventarisierung für Linux

DSLinux Skriptbasierte Inventarisierung für Linux DSLinux Skriptbasierte Inventarisierung für Linux www.docusnap.com TITEL DSLinux AUTOR Docusnap Consulting DATUM 21.04.2015 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung

Mehr

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01 Installation, Konfiguration, Verwendung Version 1.01 Seite 2 von 20 OPC-Server VM OPC Revision Version Erstellt am Versionsnummer Bemerkung 1.00 26.07.2013 Erstellung 1.01 05.11.2013 2.14 - Reiter der

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr