slide thuyet trinh android

42
ATHENA NGHIÊN CỨU VÀ CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID TRÊN CÁC THIẾT BỊ NHƯ LAPTOP, SMARTPHONE NGƯỜI THỰC HIỆN: TRẦN VĂN NAM

Upload: kuto92love

Post on 16-Dec-2014

556 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Slide thuyet trinh android

ATHENA

NGHIÊN CỨU VÀ CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID TRÊN CÁC THIẾT BỊ NHƯ LAPTOP,

SMARTPHONE

NGƯỜI THỰC HIỆN: TRẦN VĂN NAM

Page 2: Slide thuyet trinh android

ATHENA

NỘI DUNG

Phần 1: Giới thiệu Android Phần 2: Cài đặt hệ điều hành Android trên máy ảo

2.1: Cài hệ điều hành Android 2x và 4x trên máy ảo. 2.2: So sánh các tính năng của Android 2x và 4x. 2.3: Cấu hình cho phép cài đặt chương trình từ Google

Play vào Android trên máy ảo. 2.4: Nghiên cứu mã độc, cách cài mã độc vào thiết bị

Android máy ảo.

Page 3: Slide thuyet trinh android

ATHENA

NỘI DUNG

Phần 3: Triển khai trên môi trường Internet 3.1: Đưa mã độc lên server. 3.2: Cài đặt mã độc từ server vào thiết bị Android. 3.3: Sử dụng Kali linux để điều khiển mã độc, thực hiện

chụp hình, nghe lén trên thiết bị Android. Gửi kết quả chụp hình, nghe lén về máy tính điều khiển.

Page 4: Slide thuyet trinh android

ATHENA

PHẦN 1: GIỚI THIỆU ANDROID

Page 5: Slide thuyet trinh android

ATHENA

GIỚI THIỆU ANDROID

Andoird là gì? Android là một hệ điều hành dựa trên nền tảng Linux

 được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008.

Page 6: Slide thuyet trinh android

ATHENA

GIỚI THIỆU ANDROID

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ.

Page 7: Slide thuyet trinh android

ATHENA

GIỚI THIỆU ANDROID

Lịch sử phát triển hệ điều hành Android là gì? Tổng công ty Android (Android, Inc.) được thành lập

tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí và sở thích của người dùng". Dù những người thành lập và nhân viên đều là những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động

Page 8: Slide thuyet trinh android

ATHENA

GIỚI THIỆU ANDROID

Trong năm đó, Rubin hết kinh phí. Steve Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ chối tham gia vào công ty.

Vào ngày 17 tháng 8 năm 2005, Google mua lại Tổng công ty Android, biến nó thành một bộ phận trực thuộc Google. Những nhân viên của chủ chốt của Tổng công ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụ này. 

Page 9: Slide thuyet trinh android

ATHENA

ĐẶC ĐIỂM

1. Tính năng mở của hệ điều hành Android là gì:Android được xây dựng để cho phép các nhà phát triển tạo ra các ứng dụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp.Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn nữa những kinh nghiệm cố kết cho người dùng. Android được xây dựng trên mở Linux Kernel. Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động. Android là mã nguồn mở, nó có thể được liberally mở rộng. Nền tảng này sẽ tiếp tục tiến triển như cộng đồng nhà phát triển công việc cùng nhau để xây dựng các ứng dụng di động sáng tạo.

Page 10: Slide thuyet trinh android

ATHENA

ĐẶC ĐIỂM

2. Tất cả các ứng dụng có thể được tạo ra cho Android:

Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứng dụng của bên thứ ba. Tất cả họ có thể được xây dựng truy cập bằng khả năng của một người cung cấp cho người sử dụng điện thoại với một dải rộng các ứng dụng và dịch vụ. Với các thiết bị xây dựng trên Hệ điều hành Android, người dùng có thể hoàn toàn thích ứng với điện thoại cùng với những lợi ích của họ. Họ có thể trao đổi trên màn hình của điện thoại, những phong cách của dialer, hoặc bất kỳ ứng dụng. Họ thậm chí có thể sử dụng điện thoại để xem các hình ảnh ưa thích của họ và chỉnh sửa tất cả hình ảnh.

Page 11: Slide thuyet trinh android

ATHENA

ĐẶC ĐIỂM

3. Phá bỏ các rào cản ứng dụng của Android:Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví dụ, một nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điện thoại di động của một cá nhân – ví dụ như địa chỉ liên hệ của người dùng, lịch, hoặc vị trí địa lý – để cung cấp một trải nghiệm người dùng có liên quan hơn. Với Android, một nhà phát triển có thể xây dựng một ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được thông báo khi họ đang có trong vùng phụ cận, cho họ một cơ hội để kết nối.

Page 12: Slide thuyet trinh android

ATHENA

ĐẶC ĐIỂM

4. Với Android tốc độ nhanh và phát triển ứng dụng dễ dàng:

Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và có thể được sử dụng để xây dựng các ứng dụng phong phú. Ví dụ, Android cho phép các nhà phát triển tìm được vị trí của điện thoại, và cho phép các thiết bị giao tiếp với nhau thông qua ứng dụng xã hội rich-to-peer. Ngoài ra, Android bao gồm một tập hợp đầy đủ các công cụ đã được xây dựng từ trước với việc cung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụng của họ.

Page 13: Slide thuyet trinh android

ATHENA

PHẦN 2: CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID TRÊN MÁY

ẢO

Page 14: Slide thuyet trinh android

ATHENA

2.1: CÀI HỆ ĐIỀU HÀNH ANDROID 2X VÀ 4X TRÊN

MÁY ẢO

Page 15: Slide thuyet trinh android

ATHENA

CÀI HỆ ĐIỀU HÀNH ANDROID 2X VÀ 4X TRÊN MÁY ẢO

Phần mềm chuẩn bị trước khi cài đặt: Android SDK (tải về từ

http://developer.android.com/sdk/index.html) Java JDK (tải về từ

http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Page 16: Slide thuyet trinh android

ATHENA

2.2: So sánh các tính năng của Android 2.x và 4.x:

Page 17: Slide thuyet trinh android

ATHENA

So sánh các tính năng của Android 2.x và 4.x:

Sự khác nhau về giao diện:Android 2.3 (Gingerbread) Android 4.0 (Ice Cream

Sandwich)

Giao diện đơn giản. Giao diện trong suốt, tinh tế và đẹp mắt hơn.

Chỉ hỗ trợ phím ảo là phím Home.

Hỗ trợ các phím ảo: Home, Back, Zoom.

Không có widget menu. Có widget menu giúp tìm nhanh thông tin mà không cần mở ứng dụng.

Page 18: Slide thuyet trinh android

ATHENA

So sánh các tính năng của Android 2.x và 4.x:

Sự khác nhau về giao thức mạng:

Android 2.3 (Gingerbread)

Android 4.0 (Ice Cream Sandwich)

Không hỗ trợ giao thức https.

Hỗ trợ giao thức htpps

Page 19: Slide thuyet trinh android

ATHENA

So sánh các tính năng của Android 2.x và 4.x:

Sự khác nhau về tính năng:Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich)

Thiết kế tối ưu hóa cho Smartphone. Thiết kế tối ưu hóa cho cả Smartphone và Tablets.

Chỉ có xóa tất cả các thông báo cùng lúc trên trình quản lý thông báo.

Có thể xóa riêng lẻ từng thông báo trên trình quản lý thông báo.

Chỉ có thể trả lời hoặc ngắt cuộc gọi khi màn hình bị khóa.

Có thể thực hiện thêm một số tính năng khi màn hình bị khóa ngoài trả lời và ngắt cuộc gọi như gửi tin nhắn …

Không hỗ trợ tính năng mở khóa màn hình nhận diện khuôn mặt (face unlock).

Có hỗ trợ tính năng mở khóa màn hình nhận diện khuôn mặt (face unlock).

Không hỗ trợ tính năng chỉnh sửa hình ảnh.

Hỗ trợ các phần mềm chỉnh sửa hình ảnh, tự động nhận diện được tất cả các camera trên thiết bị.

Page 20: Slide thuyet trinh android

ATHENA

So sánh các tính năng của Android 2.x và 4.x:

Sự khác nhau về phần cứng:

Android 2.3 (Gingerbread) Android 4.0 (Ice Cream Sandwich)Cần cung cấp ít nhất 128MB bộ nhớ có sẵn cho kernel và cho không gian người sử dụng.

Cần cung cấp ít nhất 340MB bộ nhớ có sẵn cho kernel và cho không gian người sử dụng.

Dung lượng RAM ít nhất là 150MB. Dung lượng RAM ít nhất là 350MB.Độ phân giải màn hình ít nhất là 100 dpi. Độ phân giải màn hình ít nhất là 120 dpi.Trình quản lý download phải có khả năng tải tập tin có dung lượng ít nhất là 55MB hoặc lớn hơn.

Trình quản lý download phải có khả năng tải tập tin có dung lượng ít nhất là 100MB hoặc lớn hơn.

Yêu cầu phải có các phím vật lý. Không yêu cầu phải có các phím vật lý.

Kiểm tra hiệu suất dựa trên thời gian mở ứng dụng (performance matrics):

-Trình duyệt: ít hơn 1300ms.

-MMS/SMS: ít hơn 700ms.

-Báo thức: ít hơn 650ms.

Kiểm tra hiệu suất dựa trên thời gian mở ứng dụng (performance matrics): Cài đặt: ít hơn 700ms.

Page 21: Slide thuyet trinh android

ATHENA

2.3: Cấu hình cho phép cài đặt chương trình từ Google Play vào

Android trên máy ảo:

Page 22: Slide thuyet trinh android

ATHENA

Cấu hình cho phép cài đặt chương trình từ Google Play vào Android trên máy ảo:

Cần download gói hỗ trợ cài đặt Google Play từ link: http://goo.im/gapps/gapps-ics-20120207-signed.zip B1: Vào command window dùng lệnh cd để di chuyển đến

thư mục android-sdk/tools. B2: Dùng lệnh sau để khởi động thiết bị giả lập có sẵn trên

trình quản lý avd đã cài đặt. emulator –avd ANDROID_NAME –partition-size 512 –no-audio

–no-boot-anim Chú ý: ANDROID_NAME là tên thiết bị được tạo sẵn trên trình quản lý avd, 512 là dung lượng bộ nhớ cung cấp cài đặt ứng dụng.

Page 23: Slide thuyet trinh android

ATHENA

Cấu hình cho phép cài đặt chương trình từ Google Play vào Android trên máy ảo:

B3: Dùng lệnh cd để di chuyển đến thư mục chứa các gói hỗ trợ cài đặt Google Play đã download trước đó.

B4: Dùng tiếp lệnh: adb shell mount –r –w –o remount –t yaffs2

/dev/block/mtdblock0 /system

B5: Dùng tiếp lệnh: adb shell chmod 777 /system/app

Page 24: Slide thuyet trinh android

ATHENA

Cấu hình cho phép cài đặt chương trình từ Google Play vào Android trên máy ảo:

B6: Dùng liên tiếp 3 lệnh sau để copy các apk package vào /system/app/: adb push GoogleLoginService.apk /system/app/ adb push GoogleServicesFramework.apk /system/app/ adb push Vending.apk /system/app/

Chú ý: Phải đảm bảo các apk package cần cài đặt như: GoogleLoginService.apk, GoogleServicesFramework.apk, Vending.apk... có

ở thư mục chúng ta đang thực thi bắt đầu ở B3

B7: Kết thúc cài đặt ta dùng lệnh: adb shell rm /system/app/SdkSetup*

Page 25: Slide thuyet trinh android

ATHENA

2.4: Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy

ảo.

Page 26: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo

Mục đích: Hiểu được bản chất của mã độc trong android từ đó tìm

cách ngăn chặn hoặt thiết kế phần mềm anti-virus

Định nghĩa: Mã độc là một đoạn code được đưa vào phần mềm nhằm

thay đổi các thực thi của hệ điều hành hoặc các chương trình bảo vệ máy tính mà không cần sự cho phép của người sử dụng. Bằng cách này, phần mềm có chứa mã độc sẽ gây hại cho hệ điều hành cũng như các chương trình ứng dụng và người dùng thiết bị.

Page 27: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo

Mục tiêu của mã độc trong android: Ứng dụng chữa mã độc Thiết bị android tải về Mã

độc thực thi các tác vụ trái phép Hacker

Tính bảo mật trong android: Các ứng dụng android được tách biệt với nhau trong quá

trình thực thi Các ứng dụng android được phân biệt bởi system ID Các ứng dụng android phải được signing mới có thể cài

đặt vào hệ thống Bảo mật trong android được thể hiện qua cơ chế

“Permission”.

Page 28: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo

Cơ chế Permission: Bất cứ những tác vụ nào gây ảnh hưởng cho các ứng dụng

khác. Hệ điều hành và người sử dụng thiết bị đều được bảo vệ cơ chế Permission, ví dụ như đọc gửi tin nhắn, truy cập mạng, thực hiện cuộc gọi, truy cập vào thông tin cá nhân,... Nói cách khác người lập trình sẽ khai báo Permission cho những nguồn tài nguyên mà ứng dụng sẽ truy cập. Những Permission này sẽ được thông báo đến người dùng khi cài đặt ứng dụng.

Page 29: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo

Tìm hiểu mã độc trên máy ảo: Công cụ hỗ trợ:

Công cụ dex2jar giúp chuyển đổi file .dex thành file .jar. (tải về từ link sau: https://code.google.com/p/dex2jar )

Công cụ jd-gui hỗ trợ hiển thị java code từ file .jar. (tải về từ link sau: https://code.google.com/p/innlab/downloads/detail?name=jd-gui-

0.3.3.windows.zip&can=2&q=2 ) Công cụ apktool giúp giải mã ứng dụng cho việc phân tích, tìm

hiểu và sữa đổi ứng dụng. (tải về từ link sau: https://code.google.com/p/android-apktool/ )

Ứng dụng:

Ứng dụng iCalendar

Page 30: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo Dex2jar:

Giúp chuyển đổi file .dex thành file .jar Để thực hiện chuyển đổi, sử dụng câu lệnh:

Dex2jar ten_file.dex

Apktool: Giải mã các file .apk và .jar Để thực hiện giải mã ứng dụng gói .apk, sử dụng các câu

lệnh: Apktool if tên ứng dụng.apk Apktool d tên ứng dụng.apk

Để thực hiện đóng gói ứng dụng lại sau khi thay đổi ta sử dụng câu lệnh sau: Apktool b Ten Thuc Muc

Page 31: Slide thuyet trinh android

ATHENA

Nghiên cứu mã độc, cách cài mã độc vào thiết bị Android máy ảo

Signing: Java JDK có sẵn công cụ hỗ trợ signing, đó là keytool và

jarsigner Để thực hiện signing cho ứng dụng .apk, sử dụng câu

lệnh: Keytool –genkey –v –keystore my_realease_key.keystore –alias

alias_name –keyalg RSA –keysize 2048 –validity 100000. Jarsigner –verbose –sigalg SHA1withRSA –digestalg SHA1 –

keystore my_realease_key.keystore my_app.apk alias_name Jarsigner –verify –verbose –certs my_app.apk

Để cài đặt ứng dụng cho máy ảo, sử dụng câu lệnh: Adb –s emulator-So_dien_thoai_thiet_bi_ao install my_app.apk

Page 32: Slide thuyet trinh android

ATHENA

Phần 3: Triển khai trên môi trường Internet

Page 33: Slide thuyet trinh android

ATHENA

Triển khai trên môi trường Internet

Cần chuẩn bị: Domain (có thể upload và download về từ domain

này) Phần mềm FileZilla (Upload Web lên Domain) Xây dựng trang ASPX với tên là Download-file.aspx

để nhận yêu cầu từ trình duyệt của thiết bị.

Page 34: Slide thuyet trinh android

ATHENA

Xây dựng trang ASPX với tên là Download-file.aspx để nhận yêu cầu từ trình duyệt của thiết bị.

Page 35: Slide thuyet trinh android

ATHENA

Triển khai trên môi trường Internet

Tạo trang mã nguồn C# với tên là Download-file.aspx.cs dùng để cài đặt yêu cầu Download tập tin cho trang ASPX.

Page 36: Slide thuyet trinh android

ATHENA

Tạo trang mã nguồn C# với tên là Download-file.aspx.cs dùng để cài đặt yêu cầu Download tập tin cho trang ASPX.using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.IO; namespace DemoAndroid{ public partial class Download_file : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {  }  protected void btnUploadFile_Click(object sender, EventArgs e) { try { if (FileUpload.PostedFile != null) { string FileName = Path.GetFileName(FileUpload.PostedFile.FileName); FileUpload.PostedFile.SaveAs(Server.MapPath("App_Data/") + FileName); Message.Text = "Upload Thành Công"; } else { throw new Exception(); } } catch (Exception ex) { Message.Text = "Chưa chọn File UpLoad"; } } 

Page 37: Slide thuyet trinh android

ATHENA

Tạo trang mã nguồn C# với tên là Download-file.aspx.cs dùng để cài đặt yêu cầu Download tập tin cho trang ASPX.

protected void DownLoadLinkButton_Click(object sender, CommandEventArgs e) { try { string FileName = "App_Data/" + (e.CommandArgument).ToString(); FileInfo LookForFile = new FileInfo(Server.MapPath(FileName)); if (LookForFile.Exists) { Response.Clear(); Response.ContentType = ("application/octet=stream"); Response.AppendHeader("Content-Disposition", "attachment;filename=" + (e.CommandArgument).ToString()); Response.WriteFile(Server.MapPath(FileName)); Response.Flush(); Response.Close(); } else { throw new FileNotFoundException(); } } catch (FileNotFoundException ex) { Message2.Text = "error: " + ex.ToString(); throw; } finally { } }  protected void btnShowList_Click(object sender, EventArgs e) { DirectoryInfo FilesInFolder = new DirectoryInfo(Server.MapPath("App_Data/")); FilesRepeater.DataSource = FilesInFolder.GetFiles("*"); FilesRepeater.DataBind(); } }} 

Page 38: Slide thuyet trinh android

ATHENA

Triển khai trên môi trường Internet

Tạo một tập tin cấu hình với tên Web.config bằng XML, ASP.NET cho phép quản trị bằng XML.

Page 39: Slide thuyet trinh android

ATHENA

Tạo một tập tin cấu hình với tên Web.config bằng XML, ASP.NET cho phép quản trị bằng XML.

<?xml version="1.0"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> </appSettings> <connectionStrings></connectionStrings> <system.web> <compilation debug="true" targetFramework="4.0" /> <authentication mode="Windows"></authentication> <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.html"> <error statusCode="403" redirect="NoAccess.html"/> <error statusCode="404" redirect="FileNotFound.html"/> </customErrors> </system.web> <location path="App_Data"></location> <system.webServer> <directoryBrowse enabled="true"/> <defaultDocument enabled="true"> <files> <add value="Download-file.aspx"/> </files> </defaultDocument> </system.webServer> </configuration> 

 

Page 40: Slide thuyet trinh android

ATHENA

Sử dụng phần mềm FileZilla đăng nhập và upload các Web trên vào Domain.

Page 41: Slide thuyet trinh android

ATHENA

Sử dụng Kali linux điều khiển mã độc và thực hiện chụp hình, nghe lén trên thiết bị Android. Gửi kết quả chụp hình, nghe lén về máy tính điều khiển.

Page 42: Slide thuyet trinh android

ATHENA

Cám ơn thầy và các bạn đã theo dõi buổi thuyết trình.