You are on page 1of 42

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

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.

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.

ATHENA
PHẦN 1: GIỚI THIỆU 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.

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ệ.

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

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.

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.
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.

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.

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ọ.

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

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

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/download
s/index.html)

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

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à Hỗ trợ các phím ảo:
phím Home. 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.
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 Android 4.0 (Ice Cream


(Gingerbread) Sandwich)
Không hỗ trợ giao thức Hỗ trợ giao thức htpps
https.

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 Có thể xóa riêng lẻ từng thông báo trên
trên trình quản lý thông báo. trình quản lý thông báo.
Chỉ có thể trả lời hoặc ngắt cuộc gọi khi Có thể thực hiện thêm một số tính năng
màn hình bị khóa. 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 Có hỗ trợ tính năng mở khóa màn hình
hình nhận diện khuôn mặt (face unlock). nhận diện khuôn mặt (face unlock).

Không hỗ trợ tính năng chỉnh sửa hình Hỗ trợ các phần mềm chỉnh sửa hình ảnh,
ảnh. tự động nhận diện được tất cả các camera
trên thiết bị.
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 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. 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 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 tập tin có dung lượng ít nhất là 100MB hoặc
lớn hơn. 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 Kiểm tra hiệu suất dựa trên thời gian mở ứng
dụng (performance matrics): dụng (performance matrics): Cài đặt: ít hơn
-Trình duyệt: ít hơn 1300ms. 700ms.

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


-Báo thức: ít hơn 650ms.
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:

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.

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

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*

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

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ị.

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”.

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.

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
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:
ATHENA  Apktool b Ten Thuc Muc
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

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

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ị.

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ị.

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.

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";

}
}

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();
}
}
}
 
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.

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>

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

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.

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

ATHENA

You might also like