Tìm hiểu phát triển ứng dụng android, xây dựng ứng dụng bí mật theo dõi điện thoại người dùng

43 31 1
Tìm hiểu phát triển ứng dụng android, xây dựng ứng dụng bí mật theo dõi điện thoại người dùng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ án tốt nghiệp đại học TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN PHẠM NGỌC HIẾU BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: TÌM HIỂU PHÁT TRIỂN ỨNG DỤNG ANDROID, XÂY DỰNG ỨNG DỤNG BÍ MẬT THEO DÕI ĐIỆN THOẠI NGƯỜI DÙNG Nghệ An, tháng 05 năm 2016 Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: TÌM HIỂU PHÁT TRIỂN ỨNG DỤNG ANDROID, XÂY DỰNG ỨNG DỤNG BÍ MẬT THEO DÕI ĐIỆN THOẠI NGƯỜI DÙNG Sinh viên thực hiện: Phạm Ngọc Hiếu Mã sinh viên: 135D4802015001 Lớp: 52K2 - CNTT Giáo viên hướng dẫn: ThS Phạm Trà My Nghệ An, tháng năm 2016 Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học MỤC LỤC DANH MỤC HÌNH ẢNH LỜI CẢM ƠN LỜI NÓI ĐẦU CHƢƠNG 1:TỔNG QUAN VỀ ANDROID 1.1 Lịch sử phát triển Android 1.2 Kiến trúc Android 1.2.1 Linux Kernel 1.2.2 Library Android Runtime 1.2.3 Application Framework 1.2.4 Application 1.3 Các thành phần Android 1.3.1 Thành phần chƣơng trình Android 1.3.2 Các thành phần giao diện Widget 14 1.3.3 Bắt kiện Android 15 1.3.4 Menu 17 1.3.5 Cở sở liệu Android 19 1.3.6 Broadcast receivers 21 1.3.7 Thread,Asynctask,Handle 23 1.3.8 Service 25 CHƢƠNG 2:PHÂN TÍCH THIẾT KẾ CHƢƠNG TRÌNH ANDROID ĐỌC TRỘM TIN NHẮN NGƢỜI DÙNG 28 2.1 Phân tích 28 2.2 Thiết Kế 29 2.2.1 Biểu đồ phân cấp chức BPC 29 2.2.2 Thiết kế sở liệu 30 2.2.3 Thiết kế giao diện 31 2.2.4 Kết chạy chƣơng trình 32 2.2.5 Các hƣớng cài đặt phát tán chƣơng trình 33 KẾT LUẬN 35 Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học Kết thu đƣợc 35 Hƣớng phát triển đề tài 35 TÀI LIỆU THAM KHẢO 36 Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học DANH MỤC HÌNH ẢNH Hình 1.1:Sơ đồ kiến trúc Android Hình 1.2:Quan hệ Activity Layout Hình 1.3:Gửi Intent từ Activity1 đến Activity2 Hình 1.4:Những app độc lập thiết bị Hình 1.5:Truyền thơng Intent hai app Hình 1.6:Minh họa Action 10 Hình 1.7:Gửi Intent đến Android 10 Hình 1.8:Android nhận Intent tìm activity có ACTION_SEND 11 Hình 1.9:Android gửi Intent đến activity có ACTION_SEND 11 Hình 1.10:Android đưa lựa chọn có nhiều Activity có ACTION_SEND 12 Hình 1.11:Android gửi Intent đến Activity 12 Hình 1.12:Vịng đời Activity 13 Hình 1.13:Vị trí Manifest file 13 Hình 1.14:Adapter ListView 14 Hình 1.15:Mơ hình ViewGroup Android 15 Hình 1.16:Option Menu 18 Hình 1.17:Context Menu 18 Hình 1.18:Popup Menu 19 Hình 1.19:Vị trí database ứng dụng 20 Hình 1.20:Các phương thức lớp SQLiteOpenHelper 20 Hình 1.21:Các phương thức lớp SQLiteDatabase 21 Hình 1.22:Boadcast Receiver nhận tín hiệu từ Android gửi lệnh tới Activity 22 Hình 1.23:Mơ hình BoadcastReceive 23 Hình 1.24:Luồng luồng phụ Android 24 Hình 1.25:Vịng đời Service 26 Hình 2.1:Hệ thống gián điệp công ty Việt Hồng 29 Hình 2.2:Biểu đồ phân cấp chức 30 Hình 2.3:Giao diện nhập thơng tin 31 Hình 2.4:Icon chương trình 32 Hình 2.5:Icon chương trình thiết bị 32 Hình 2.6:Thơng tin gián điệp gửi 33 Hình 2.7:Nội dung thơng tin gián điệp thu 33 Hình 2.8:File apk chương trình upload lên Drive 34 Hình 2.9:Sử dụng trình duyệt để tải file cài đặt 34 Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học LỜI CẢM ƠN Sau khoảng thời gian hai tháng tìm hiểu lập trình ứng dụng thiết bị chạy hệ điều hành Android em xây dựng thành cơng “ứng dụng bí mật theo dõi hoạt động ngƣời dùng điện thoại chạy Android “, qua có hiểu biết kinh nghiệm ban đầu để vào giới lập trình viên phát triển ứng dụng Android Để đạt đƣợc thành công ban đầu chắn khơng thể em làm đƣợc, mà phải có nhiều giúp đỡ bảo thầy cô giáo khoa CNTT đại học Vinh Em xin chân thành cảm ơn cô Ths Phạm Trà My ngƣời trực tiếp hƣớng dẫn em làm đồ án này, em xin chân thành cảm ơn thầy cô khoa CNTT đại học Vinh nhiệt tình giảng dạy truyền đạt kiến thức quý báu, bổ ích suốt trình năm em học Do thời gian nhƣ lực hạn chế nên cố gắng nhƣng đồ án em thực tồn số thiếu sót, em mong nhận đƣợc góp ý từ phía thầy cô nhƣ quý độc giả qua địa Email : hieupn89@gmail.com, em xin chân thành cảm ơn Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học LỜI NÓI ĐẦU Trong năm gần thấy ngành cơng nghiệp thiết bị di động phát triển rực rỡ hết Sỡ dĩ phát triển đƣợc nhƣ lợi ích mà đem lại cho sống ngƣời vô to lớn, chẳng hạn nhƣ với thiết bị nhỏ gọn smarphone mang tay hàng ngàn sách đƣợc số hóa đọc lúc nơi cách vô tiện lợi mà không cần phải đến thƣ viện hay mang theo sách cồng kềnh.Rồi với Smartphone nghe nhạc, xem phim,nghe đài FM, ghi công việc, truy cập internet làm hàng nghàn tác vụ khác cách vô nhanh chóng tiện lợi Rõ ràng phát triển ngành công nghiệp thiết bị di động điều tất yếu chắn tƣơng lai phát triển cịn mãnh mẽ sâu rộng vào đời sống ngƣời nhiều Đi song song với phát triển ngành công nghiệp thiết bị di động thấy ngành phát triển phần mềm lĩnh vực phát triển phần mềm cho thiết bị di động theo mà phát triển mạnh, đặc biệt quốc gia trọng đến gia công phần mềm nhƣ Việt Nam lĩnh vực trở nên khát nguồn nhân lực hết.Vì với sinh viên ngành cơng nghệ thơng tin hƣớng để phát triển nghiệp, đáp ứng nhu cầu xã hội, tạo công ăn việc làm cho thân Chính nhận định nên em chọn đề tài để thực đồ án “ tìm hiểu phát triển ứng dụng android, xây dựng ứng dụng bí mật theo dõi điện thoại ngƣời dùng “ với mục đích tìm hiểu cách xây dựng ứng dụng thiết bị di động chạy android, thực hành xây dựng ứng dụng thực tế Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Đồ án tốt nghiệp đại học CHƢƠNG 1:TỔNG QUAN VỀ ANDROID 1.1 Lịch sử phát triển Android Android hệ điều hành dựa tảng Linux, đƣợc thiết kế dành cho thiết bị di động có hình cảm ứng nhƣ điện thoại thơng minh máy tính bảng Ban đầu Android đƣợc phát triển tổng cơng ty Android, với hỗ trợ tài từ Google sau đƣợc Google mua lại vào năm 2005 Chính mã nguồn mở Android với tính khơng ràng buộc nhiều cho phép nhà phát triển thiết bị di động lập trình viên đƣợc điều chỉnh phân phối Android cách tự Ngồi ra, Android cịn có cộng đồng lập trình viên đơng đảo chun viết ứng dụng để mở rộng chức thiết bị Cho đến tại, Google bán 200.000 thiết bị Android ngày Play Store họ vƣợt mức 90.000 ứng dụng Nhờ yếu tố mở, dễ dàng tinh chỉnh phát triển nhanh chóng khiến hệ điều hành dần trở nên phổ biến, kết đƣợc thiết kế để chạy điện thoại máy tính bảng nhƣng Android xuất smart TV, máy chơi game số thiết bị điện tử khác Android bắt đầu với beta vào tháng 11 năm 2007 phiên thƣơng mại đầu tiên, Android 1.0, đƣợc phát hành vào tháng năm 2008 Kể từ tháng năm 2009, phiên Android đƣợc phát triển, đặt tên theo chủ đề bánh kẹo phát hành theo thứ tự bảng chữ cái: Cupcake (bánh cupcake), Donut (bánh vòng), Eclair (bánh Eclair), Froyo (ya-ua lạnh), Gingerbread (bánh gừng), Honeycomb (mật ong), Ice Cream Sandwich (bánh kẹp kem), Jelly Bean (kẹo dẻo), Kitkat (bánh Kitkat) phiên Lollipop (kẹo mút) Kỷ nguyên Android thức bắt đầu vào ngày 22 tháng 10 năm 2008, điện thoại T-Mobile G1 bắt đầu đƣợc bán Mỹ Vào thời gian đầu, nhiều tính bị thiếu sót nhƣ: bàn phím ảo, cảm ứng đa điểm tính mua ứng dụng chƣa xuất Tuy nhiên, số tính nhƣ giao diện đặc sản hệ điều hành khởi nguồn từ G1 trở thành yếu tố thiếu Android sau này: Thanh thông báo vuốt từ xuống (Notification bar): Ngay từ ngày Android, thông báo đánh dấu bƣớc quan trọng mà trƣớc chƣa có hệ điều hành làm đƣợc - đƣa tất thông tin tin nhắn, tin thoại gọi nhỡ với thao tác vuốt xuống Apple học tập tính đƣa vào hệ điều hành iOS sau năm kể từ phiên iOS mắt Thanh notification đƣợc Android sử dụng đến cải tiến nhiều so với phiên Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page Đồ án tốt nghiệp đại học Màn hình (Home Screen) widget: Một điểm khác biệt Android so với hệ điều hành khác phần hình Bên cạnh việc thay đổi đƣợc hình nền, Android cịn cho phép ngƣời dùng tùy biến hình với nhiều widgets kèm theo, chẳng hạn nhƣ đồng hồ, lịch, trình nghe nhạc, đƣa icon ứng dụng ngồi chí can thiệp sâu để thay đổi toàn giao diện hình Home Screen Đồng tích hợp chặt chẽ với Gmail: Vào thời điểm điện thoại G1 đƣợc bán ra, Gmail hỗ trợ giao thức POP IMAP để tích hợp với trình email di động Tuy nhiên, lúc khơng có sản phẩm hỗ trợ đƣợc hồn tồn tính ƣu việt Gmail Mãi Android 1.0 xuất hiện, vấn đề đƣợc khắc phục G1 trở thành điện thoại mang lại trải nghiệm Gmail tốt thị trƣờng lúc Kho ứng dụng Android Market: Thật khó tƣởng tƣợng smartphone mà khơng có kho ứng dụng, nhƣng vào thời điểm Android mắt, gần nhƣ khơng có điện thoại có kho ứng dụng đƣợc tích hợp Android mở đầu cách mạng ứng dụng di động Android Market G1 thời có ứng dụng giao diện đơn giản, tính mua ứng dụng phiên chƣa đƣợc xuất năm sau - vấn đề dễ hiểu thời điểm Android đƣợc khai sinh nên thứ cịn thơ sơ Giao diện: Google phát triển giao diện Android phiên 1.0 với hỗ trợ từ TAT, viết tắt từ The Astonishing Tribe, công ty thiết kế tƣơng tác Thụy Điển Dấu ấn rõ ràng mà TAT để lại phiên Android từ phiên 1.0 2.2 widget đồng hồ kim nằm ngồi Home Screen đơn giản nhƣng đẹp mắt Công ty sau ngừng hợp tác với Google bị RIM mua lại để tập trung phát triển sản phẩm Blackberry nhƣ tảng BBX sau Vào cuối năm 2008,Google cho phát hành thiết bị cầm tay đƣợc gọi Android Dev Phone chạy đƣợc ứng dụng Android mà không bị ràng buộc vào nhà cung cấp mạng điện thoại di động.Mục tiêu thiết bị cho phép nhà phát triển thực thí nghiệm thiết bị thực chạy hệ điều hành Android mà ký hợp đồng nào.Vào khoảng thời gian Google cho phát hành phiên vá lỗi 1.1 hệ điều hành này.Ở hai phiên 1.0 1.1 Android chƣa hỗ trợ soft-keyboard mà đòi hỏi thiết bị phải sử dụng bàn phím vật lý.Android cố định vấn đề cách phát hành SDK 1.5 vào tháng năm 2009,cùng với số tính khác Chẳng hạn nhƣ nâng cao khả ghi âm truyền thông,vật dụng live folder 1.2 Kiến trúc Android Sau mơ hình tổng qt thành phần hệ điều hành Android: Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page Đồ án tốt nghiệp đại học Hình 1.1:Sơ đồ kiến trúc Android Chúng ta sâu chút thành phần nhƣ sau , theo thứ tự từ dƣới lên : 1.2.1 Linux Kernel Android hệ điều hành sử dụng nhân Linux, nhƣng nhân để chạy hệ điều hành Linux thiết bị chạy Linux Có nhiều mã lập trình Android sử dụng riêng so với hệ thống Linux, ví dụ nhƣ kernel Google’s Android sử dụng có chế độ làm việc riêng Hệ thống lập trình OEMs ngơn ngữ chủ đạo để viết nên hệ thống cho Kernel, phƣơng tiện dùng để lập trình hệ thống driver cho phần cứng khác cho phiên khác Android Kernel Điều quan trọng Kernel kiểm soát điều khiển phần cứng, hiểu cách đơn giản, Kernel mối nối “thông dịch viên” phần cứng phần mềm Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page Đồ án tốt nghiệp đại học Hình 1.22:Boadcast Receiver nhận tín hiệu từ Android gửi lệnh tới Activity Để hiểu BoardcastReceiver cách hình tƣợng hình dung theo cách nhƣ : Nhƣ biết Việt Nam có nhiều đài phát truyền hình Và tất nhiên có cột phát sóng, phát loạt hình ảnh liên tục với nhiều tầng số khác nhau, tầng số kênh truyền hình có phát sóng liệu, liệu đƣợc gửi có key riêng kèm theo liệu Xung quanh có nhiều nhà sử dụng tivi, tivi thu lại sóng chọn xem kênh Và ứng dụng vậy, lúc có nhiều Activity chồng lên nhau, trạng thái khác Activity hoạt động, Activity onPause() "bị đè lên" Tuy nhiên dù Activity có thu sóng chúng lấy đƣợc liệu, tất nhiên để lấy xác liệu muốn lấy ta phải đƣa vào giá trị key ban đầu mà phát phát Không Activity lại gồm nhiều phát sóng khác phát liệu đi, có thu thu giá trị key tƣơng ứng thu đƣợc Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 22 Đồ án tốt nghiệp đại học Hình 1.23:Mơ hình BoadcastReceive 1.3.7 Thread,Asynctask,Handle Trong Android khái niệm đa luồng (Multithread) khái niệm quan trọng Chúng ta hiểu điện thoại có vi xử lý, điều có nghĩa thời điểm có tác vụ đƣợc thực thi, tác vụ thực xong tác vụ khác đƣợc thực Chúng ta hình dung bạn vừa chơi game vừa nghe nhạc, chạy theo kiểu thơng thƣờng nhạc bạn chạy phút bạn phải chờ nhạc chạy xong chơi game đƣợc Điều gây nhiều bất tiện Đó lý ngƣời ta sinh khái niệm đa luồng để thực nhiều tác vụ đồng thời lúc a)Thread Thread tiến trình đơn vị xử lý máy tính thực công việc riêng biệt Multi-thread khái niệm cho nhiều tiến trình chạy đồng thời Một ứng dụng Java ngồi luồng có luồng khác thực thi đồng thời làm ứng dụng chạy nhanh hiệu Ƣu điểm đa luồng Mỗi luồng dùng chung chia sẻ nguồn tài nguyên q trình chạy, nhƣng thực cách độc lập Ứng dụng Android đƣợc tách + Luồng chạy giao diện ngƣời dung, đƣợc phép can thiệp vào thành phần UI + Các luồng phụ gửi đến luồng chính, luồng phụ khơng đƣợc phép can thiệp vào thành phần UI Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 23 Đồ án tốt nghiệp đại học Hình 1.24:Luồng luồng phụ Android Nhƣợc điểm đa luồng: Càng nhiều luồng xử lý phức tạp Cần phát tránh luồng chết, luồng chạy mà khơng làm ứng dụng b)AsyncTask Một chƣơng trình chạy Android có cấu trúc phức tạp Yêu cầu kết nối đến Server, CSDL, tải file … Nếu xử lý cơng việc Main Thread làm ứng dụng chạy chậm hay treo chúng làm gián đoạn việc cập nhật, xử lý GUI Có nhiều cách để giải vấn đề này: sử dụng Service, Thread hay đơn giản dùng Async Task (Asynchronous Task) Cấu trúc AsyncTask có đối số Generic Type: Params: Là giá trị ((biến) đƣợc truyền vào gọi thực thi tiến trình đƣợc truyền vào doInBackground Progress: Là giá trị (biến) dùng để update giao diện diện lúc tiến trình thực thi, biến đƣợc truyền vào hàm onProgressUpdate Result: Là biến dùng để lƣu trữ kết trả sau tiến trình thực xong Những đối số khơng sử dụng q trình thực thi tiến trình ta thay Void Thơng thƣờng AsyncTask chứa hàm onPreExecute() :Tự động đƣợc gọi tiến trình đƣợc kích hoạt Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 24 Đồ án tốt nghiệp đại học doInBackground(): Đƣợc thực thi trình tiến trình chạy nền, thơng qua hàm để ta gọi hàm onProgressUpdate để cập nhật giao diện (gọi lệnh publishProgress) Ta cập nhật giao diện hàm doInBackground() onProgressUpdate (): Dùng để cập nhật giao diện lúc runtime onPostExecute(): Sau tiến trình kết thúc hàm tự động xảy Ta lấy đƣợc kết trả sau thực tiến trình kết thúc Trong hàm hàm doInBackground() bắt buộc phải tồn tại, hàm khác khuyết Đối với AsyncTask ta cần tạo lớp kế thừa từ AsyncTask, sau từ MainActivity ta gọi hàm execute() tiến trình đƣợc c)Handler Handler() để giao tiếp hay nhiều thread,ngoài Handler() đƣợc sử dụng để xử lý yêu cầu ngƣời dùng sau khoảng thời gian định 1.3.8 Service Một Service thành phần đƣợc chạy bên để xử lý công việc thời gian dài Một ứng dụng nghe nhạc phát nhạc, ngƣời dùng giao diện ứng dụng khác Hoặc ứng dụng download tải liệu mạng máy mà không ngăn chặn ngƣời dùng tƣơng tác với ứng dụng khác Một Service gồm hai trạng thái bản: Started: Một service đƣợc gọi started thành phần ứng dụng, chẳng hạn nhƣ activity, start cách gọi phƣơng thức startService() Mỗi lần đƣợcstarted, service chạy bên dƣới vô thời hạn, chí thành phần startednó bị hủy Bound: Một service đƣợc gọi bound thành phần ứng dụng liên kết với cách gọi phƣơng thức bindService() Một dịch vụ ràng buộc cung cấp giao diện client-server cho phép thành phần tƣơng tác với service, gửi yêu cầu, nhận kết quả, chí tƣơng tự việc giao tiếp với interprocess (IPC) Mỗi service có tập phƣơng thức bạn implement để giám sát việc thay đổi trạng thái service, chí bạn thực cơng việc trạng thái thích hợp Trong sơ đồ sau phía bên trái mơ tả vòng đời Service đƣợc tạo với startService(), phía bên phải mơ tả vịng đời service đƣợc tạo với bindService() Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 25 Đồ án tốt nghiệp đại học Hình 1.25:Vịng đời Service Để tạo service tạo class kế thừa class Service Class Service có nhiều phƣơng thức callback, không cần phải implement hết phƣơng thức này, nhiên việc hiểu rõ áp dụng chúng code quan trọng việc đáp ứng yêu cầu ngƣời dùng onStartCommand(): Hệ thống gọi phƣơng thức có thành phần khác, chẳng hạn nhƣ activity, yêu cầu service đƣợc started, gọi phƣơng thúc startService() Nếu bạn implement phƣơng thức bạn phải có trách nhiệm stop service cơng việc hồn thành, cách gọi phƣơng thức stopSelf() stopService()  onBind(): Hệ thống gọi phƣơng thức có thành phần khác liên kết với service cách gọi phƣơng thức bindService() Nếu bạn implement phƣơng thức này, bạn phải cung cấp giao diện để client sử dụng giao tiếp với service, cách trả đối tƣợng IBinder Bạn phải implement phƣơng thức này, nhiên bạn không muốn liên kết, trả vể null  onUnbind(): Hệ thống gọi phƣơng thức tất client bị ngắt kết nối từ giao diện đặt biệt đƣợc tạo service  onRebind(): Hệ thống gọi phƣơng thức có client đƣợc kết nối với service, mà trƣớc có thơng báo tất bị ngắt kết nối onUnbind()  onCreate(): Hệ thống gọi phƣơng thức service đƣợc tạo lần gọi phƣơng thức onStartCommand() onBind()  Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 26 Đồ án tốt nghiệp đại học onDestroy(): Hệ thống gọi phƣơng thức service khơng cịn đƣợc sử dụng thời gian dài Bạn nên gọi phƣơng phức để giải phóng tài nguyên hệ thống  Hệ thống bắt buộc phải tắt service trƣờng hợp nhớ xuống thấp phải phục hồi lại tài nguyên cho thao tác mà ngƣời dùng sử dụng Nếu Service ràng buộc activity mà ngƣời dùng sử dụng bị giải phóng Service chạy dƣới foreground khơng bị giải phóng Ngồi Service bắt đầu khoảng thời gian dài có nguy cao bị hệ thống giải phóng Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 27 Đồ án tốt nghiệp đại học CHƢƠNG 2:PHÂN TÍCH THIẾT KẾ CHƢƠNG TRÌNH ANDROID ĐỌC TRỘM TIN NHẮN NGƢỜI DÙNG 2.1 Phân tích Để thực demo tìm hiểu xây dựng ứng dụng Android, thử xây dựng ứng dụng Loại ứng dụng mà ta xây dựng loại phần mềm gián điệp ăn cắp thông tin ngƣời dùng điện thoại android Thực thiết bị android ngƣời dùng có nhiều thơng tin khai thác, chẳng hạn nhƣ tin nhắn đến đi, gọi đến thiết bị, cịn có danh bạ,các ảnh, đoạn video lƣu máy ngƣời dùng…Vậy làm cách để xây dựng đƣợc ứng dụng gián điệp chạy thiết bị tự động ăn cắp thơng tin ? Đó mục tiêu hƣớng tới việc xây dựng demo phần mềm Có điều đáng lƣu ý việc xây dựng phần mềm đọc trộm tin nhắn để thực ý đồ không lành mạnh, mà thay vào việc xây dựng phần mềm cách để tìm hiểu xây dựng ứng dụng Android, đồng thời thông qua việc đóng giả tin tặc tìm cách thâm nhập ăn cắp thông tin ngƣời dùng nhận thức rõ mối nguy hiểm phần mềm gián điệp Android, qua với tƣ cách ngƣời có hiểu biết nhiều cơng nghệ thơng tin có hành động, biện pháp cảnh báo đến cộng đồng ngƣời sử dụng thiết bị cá nhân cần phải cảnh giác với phần mềm độc hại ăn cắp thơng tin Về khía cạnh kỹ thuật Android hệ thống tƣơng đối “ mở”, việc truy cập trực tiếp vào CSDL ứng dụng cụ thể điều bất khả thi, nhƣng nhà thiết kế Android cho “ cổng “ để nhà phát triển phần mềm truy xuất liệu cần thiết có nhu cầu Đây sở để lấy đƣợc cách tự động thơng tin có thiết bị chạy Android nhƣ tin nhắn, gọi… Thực có nhiều phần mềm gián điệp với đủ thể loại khác nhau, chẳng hạn nhƣ tháng năm 2015 công an thành phố Hà Nội điều tra vụ án phần mềm gián điệp Ptracker công ty TNHH Việt Hồng với thủ đoạn cung cấp dịch vụ nghe ngƣời dùng để thu lời bất Mơ hình hoạt động phần mềm Ptracker cơng ty Việt Hồng hình dung theo sơ đồ sau : Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 28 Đồ án tốt nghiệp đại học Hình 2.1:Hệ thống gián điệp công ty Việt Hồng Ptracker với loạt chức mãnh mẽ nhƣ thu thập tin nhắn, danh bạ ngƣời dùng, tự động bật chức ghi âm gọi, ghi âm môi trƣờng xung quanh hay định vị vị trí ngƣời dùng, sau đƣa lên CSDL cơng ty bán cho ngƣời có nhu cầu.Tới bị quan công an phát hiện, có tổng số 14.140 tài khoản bị cài phần mềm giám sát Ptracker Trong đó, có 7.447 tài khoản mà liệu lƣu máy chủ Cơng ty Việt Hồng, 6.693 tài khoản bị xóa liệu khỏi máy chủ, 670 tài khoản thời gian giám sát Với tƣ cách giả định tin tặc muốn xây dựng phần mềm ăn cắp liệu ngƣời dùng có nhận xét phần mềm Ptracker cơng ty Việt Hồng mạnh mẽ với nhiều tính nhƣng có nhƣợc điểm chỗ toàn liệu thu thập đƣợc điều phải chuyển lên lƣu server công ty Vì quan cơng an phát họ cần chặn phía server chứa CSDL coi nhƣ tồn hệ thống ăn cắp thơng tin bị vơ hiệu hóa Vì xây dựng hệ thống mà tính khơng mạnh mẽ Ptracker nhƣng bù lại hoạt động độc lập server, thay vào thơng tin ăn cắp đƣợc trực tiếp gửi đến Email ngƣời dùng Giải pháp có ƣu điểm quan cơng an có phát khó ngăn chặn đƣợc phần mềm đƣợc phát tán cách miễn phí mạng (xin lƣu ý đóng vai tin tặc) 2.2 Thiết Kế 2.2.1 Biểu đồ phân cấp chức BPC Trƣớc vào lập trình bƣớc bƣớc phân tích thiết kế hệ thống,chúng ta sử dụng phƣơng pháp phân tích có cấu trúc đề phân tích hệ thống Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 29 Đồ án tốt nghiệp đại học phần mềm.Biểu đồ phân cấp chức (BPC) biểu đồ mô tả hệ thống mặt chức năng, biểu đồ luồng liệu (BLD) biểu đồ mô tả mối liên kết chức hệ thống Với ứng dụng chƣa phải ứng dụng lớn nên cần sử dụng biểu đồ phân cấp chức đủ tính đơn giản, thơng dụng dễ hiểu Nhận Lệnh Hoạt Động Gián Điệp Gửi thông tin Thu thập tin nhắn Thu thập danh bạ Thu thập gọi Hình 2.2:Biểu đồ phân cấp chức 2.2.2 Thiết kế sở liệu Cơ sở liệu phải đủ để lƣu thông tin thu thập đƣợc từ máy điện thoại nạn nhân Bảng STORE lƣu tin nhắn đến :  Trƣờng PHONENUMBER định dạng liệu TEXT dùng để lƣu giữ số điện thoại ngƣời nhắn tin đến  Trƣờng TIME định dạng liệu TEXT dùng để lƣu lại thời gian mà tin nhắn đến  Trƣờng CONTENT định dạng liệu TEXT dùng để lƣu lại nội dung tin nhắn đến Bảng STORESEND lƣu tin nhắn gửi đi:  Trƣờng PHONENUMBER định dạng liệu TEXT dùng để lƣu giữ số điện mà nhắn tin  Trƣờng TIME định dạng liệu TEXT dùng để lƣu lại thời gian mà gửi tin nhắn  Trƣờng CONTENT định dạng liệu TEXT dùng để lƣu lại nội dung tin nhắn gửi Bảng CALLINCOME lƣu gọi đến: Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 30 Đồ án tốt nghiệp đại học  Trƣờng PHONENUMBER định dạng liệu TEXT dùng để lƣu lại số điện thoại gọi đến  Trƣờng TIME định dạng liệu TEXT dùng để lƣu lại thời gian mà gọi đến Bảng CALLOUTCOME lƣu gọi đến:  Trƣờng PHONENUMBER định dạng liệu TEXT dùng để lƣu lại số điện thoại gọi  Trƣờng TIME định dạng liệu TEXT dùng để lƣu lại thời gian mà gọi Bảng CONTACT lƣu danh bạn thiết bị nạn nhân:  Trƣờng TIME định dạng liệu TEXT dùng để lƣu lại thời gian mà danh bạ đƣợc thu thập  Trƣờng COTENT định dạng liệu TEXT dùng để lƣu lại danh bạn thiết bị 2.2.3 Thiết kế giao diện Do chƣơng trình gián điệp nên có giao diện lên lúc cài đặt để ngƣời dùng nhập liệu nhƣ sau: Hình 2.3:Giao diện nhập thơng tin Dịng Email Sender(phải dùng Gmail), dòng thứ hai mật Email Sender,dòng thứ ba tên nạn nhân bạn viết đƣợc, dịng thứ tƣ Email nhận thông tin gián điệp thu đƣợc từ Email Sender Có điều lƣu ý có bƣớc cung cấp mật Email Sender – thông tin nhạy cảm, tốt hết nên dùng Email phụ đƣợc lập để làm việc thay sử dụng Email mình, thêm vào Email Sender phải đƣợc cài đặt chế độ cho phép tự động gửi mail phần mềm, vào cài đặt lại thông số Email Sender Nhƣ hình ảnh dùng Email Sender Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 31 Đồ án tốt nghiệp đại học Email nhận tin Email, nhƣ đƣợc, nhƣng tốt hết dùng hai Email khác Sau thông tin đƣợc nhập ngƣời dùng nhấn nút ” Xác Nhận” tồn thơng tin đƣợc lƣu lại, đồng thời phần mềm tự động hình chủ điện thoại.Thêm điều có mở ứng dụng lại nhập liệu button khơng xuất Icon chƣơng trình đƣợc lựa chọn cách khéo léo nhƣ hình sau : Hình 2.4:Icon chương trình Cịn dƣới Icon chƣơng trình xuất thiết bị : Hình 2.5:Icon chương trình thiết bị Nó đƣợc đặt tên mỹ miều “GoogleServiceApp” - tất để qua mắt ngƣời dùng.Một giải pháp an tồn việc ẩn icon đi, tránh nghi ngờ để ý ngƣời dùng 2.2.4 Kết chạy chƣơng trình Sau đƣợc cài đặt vào máy ngƣời dùng, phần mềm âm thầm lƣu lại tin nhắn đến đi, gọi đến đi,nếu muốn có danh bạ cần nhắn tin vào máy nạn nhân tin nhắn với mã lệnh : PRETTY_BOY, chƣơng trình thu thập danh bạ, lƣu vào CSDL chờ có mạng để gửi Email ngƣời dùng Dƣới kết thử nghiệm chƣơng trình : Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 32 Đồ án tốt nghiệp đại học Hình 2.6:Thơng tin gián điệp gửi Nội dung mà phần mềm gián điệp thu đƣợc : Hình 2.7:Nội dung thơng tin gián điệp thu 2.2.5 Các hƣớng cài đặt phát tán chƣơng trình Do phần mềm gián điệp nên việc cài đặt chƣơng trình cần phải thực nhanh chóng bí mật Những u cầu cần phải có trƣớc tiến hành cài đặt :  Phần mềm gián điệp dạng file chạy apk  Thiết bị nạn nhân chạy Android từ 4.1 trở lên Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 33 Đồ án tốt nghiệp đại học Thực tiến hành cài đặt chƣơng trình theo nhiều cách khác nhau, sau phƣơng pháp mà tác giả đóng vai trị tin tặc có ý định cơng thiết bị nạn nhân Đầu tiên file apk phần mềm gián điệp đƣợc tải lên trang chia sẻ trực tuyến,trong trƣờng hợp tin tặc sử dụng trang drive.goole.com google, sau upload lên cho đƣờng link để chia sẻ file Hình 2.8:File apk chương trình upload lên Drive Nhƣ hình thấy phần mềm gián điệp Alight.apk đƣợc đƣa lên trang chia sẻ trực tuyến Drive google Tiếp theo, bƣớc khó nhất, phải tiếp cận đƣợc với thiết bị nạn nhân, sử dụng trình duyệt nhƣ Chrome hay Firefox truy cập vào đƣờng link chia sẻ file phần mềm gián điệp mà tin tặc tải lên Drive.google.com.Trình duyệt thị giao diện nhƣ sau : Hình 2.9:Sử dụng trình duyệt để tải file cài đặt Click vào “Tải Xuống” sau cài đặt bình thƣờng Tồn q trình khoảng 20 – 30 giây đảm bảo đƣợc tính bí không bị nạn nhân nghi ngờ Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 34 Đồ án tốt nghiệp đại học KẾT LUẬN Kết thu đƣợc Qua trình tìm hiểu thực đồ án, thân ngƣời thực đạt đƣợc kết nhƣ sau:  Tìm hiểu đƣợc cách thức phát triển chƣơng trình ứng dụng thiết bị chạy hệ điều hành Android  Xây dựng thành công phần mềm gián điệp có khả theo dõi tin nhắn, gọi danh bạ ngƣời dùng  Nhận thức đƣợc rõ vấn đề bảo mật thông tin thiết bị di động chạy hệ điều hành Android Hƣớng phát triển đề tài Phần mềm gián điệp hồn tồn phát triển thêm để trở nên nguy hiểm với tính :  Phát nhận diện ảnh nhạy cảm, qua đánh cắp ảnh nhạy cảm nạn nhân  Lấy thơng tin vị trí nạn nhân  Lấy thông tin lịch sử truy cập web nạn nhân  Thực điều khiển việc chặn gọi nạn nhân  Thực việc điều khiển chặn truy cập web nạn nhân Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 35 Đồ án tốt nghiệp đại học TÀI LIỆU THAM KHẢO Giáo trình: [1] Nguyễn Văn Ba, Phân tích thiết kế hệ thống thơng tin, Nhà xuất Đại Học Quốc Gia Hà Nội, Năm xuất 2009 [2] Phạm Minh Tuấn, Phân tích thiết kế hệ thống thông tin, Nhà xuất Hà Nội, Năm xuất 2005 [3] Dawn Griffiths, David Griffiths, Head First Android Development, Nhà xuất O'Reilly,Năm xuất 2015 Địa websites: [1] duythanhcse.wordpress.com [2] www.tutorialspoint.com [3] developer.android.com [4] www.stackoverflow.com Phạm Ngọc Hiếu-Lớp 52K2-Khoa CNTT Page 36 ... nghiệp đại học BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: TÌM HIỂU PHÁT TRIỂN ỨNG DỤNG ANDROID, XÂY DỰNG ỨNG DỤNG BÍ MẬT THEO DÕI ĐIỆN THOẠI NGƯỜI DÙNG Sinh viên thực hiện: Phạm Ngọc Hiếu Mã sinh viên:... ứng nhu cầu xã hội, tạo công ăn việc làm cho thân Chính nhận định nên em chọn đề tài để thực đồ án “ tìm hiểu phát triển ứng dụng android, xây dựng ứng dụng bí mật theo dõi điện thoại ngƣời dùng. .. NHẮN NGƢỜI DÙNG 2.1 Phân tích Để thực demo tìm hiểu xây dựng ứng dụng Android, thử xây dựng ứng dụng Loại ứng dụng mà ta xây dựng loại phần mềm gián điệp ăn cắp thông tin ngƣời dùng điện thoại android

Ngày đăng: 01/08/2021, 11:26