【正文】
等等。 相對(duì)于 PC 的安全性而言,手機(jī)安全對(duì)用戶的威脅更大。 關(guān)鍵詞: 手機(jī)衛(wèi)士 ,安卓開發(fā)平臺(tái) ,MVC框架 ,數(shù)據(jù)庫(kù) 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) Abstract II Abstract With the growing popularity of smart phones and the rapid development of mobile Inter, With the extensive application of the 3G era, smart phones, Android became the largest active users of mobile operating systems, And the Android operating system is open source, so everyone can develop an Android application, resulting in numerous Android applications. Because Android is open source, leading everyone can develop Android terminal software for DIY, and some developers to develop some illegal code in the application, to steal the user39。 本系統(tǒng)正是針對(duì)那些 惡意應(yīng)用的,詳細(xì)的闡述了手機(jī)安全衛(wèi)士的開發(fā)流程,包括手機(jī)防盜、通訊衛(wèi)士、軟件管理、進(jìn)程管理、手機(jī)殺毒、系統(tǒng)優(yōu)化、高級(jí)工具、設(shè)置中心等功能模塊。由于安卓的開源,導(dǎo)致每個(gè)人可以對(duì)安卓端的軟件進(jìn)行編寫,而有些開發(fā)者在應(yīng)用中加入一些非法的代碼,竊取用戶的隱私,使得手機(jī)的安全問題日益明顯,手機(jī)安全問題關(guān)注度日益提高。本系統(tǒng)采用安卓作為開發(fā)平臺(tái),使用安卓開發(fā)工具作為開發(fā)環(huán)境,后臺(tái)使用 sqlite數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的存儲(chǔ) 和傳輸,來實(shí)現(xiàn)手機(jī)衛(wèi)士之的數(shù)據(jù)共享和業(yè)務(wù)邏輯的交互。根據(jù)全球著名調(diào)查機(jī)構(gòu) Gartner 提供的數(shù)據(jù),安卓系統(tǒng)在只能手機(jī)市場(chǎng)發(fā)占有率達(dá)到了一半以上。 隨著科技的發(fā)展,移動(dòng)互聯(lián)網(wǎng)已成為當(dāng)下的趨勢(shì),而擁有 Android 平臺(tái)的終端設(shè)備已達(dá)到 75%的占有率。 為了開發(fā)出一個(gè)適合用戶需求的手機(jī)衛(wèi)士,本次設(shè)計(jì)還借鑒了市面上一些商業(yè)性安全軟件的一些構(gòu)思和設(shè)計(jì)技巧。當(dāng)手機(jī)病毒剛出現(xiàn)的時(shí)候,由于病毒數(shù)目很少,而且并不具有實(shí)質(zhì)性的危害,安全廠商往往通過提供專有殺毒程序的形式來解決威脅。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 緒論 2 ③ 基于通用病毒定義語言的反病毒掃描技術(shù)。而手機(jī)衛(wèi)士這個(gè)項(xiàng)目乍一看不知道如何下手,并且其組織關(guān)系有很大的復(fù)雜性,但仔細(xì)分析后,發(fā)現(xiàn)它所用到的知識(shí)點(diǎn)基本上 Android 核心的知識(shí)點(diǎn),比如:Android 的四大組件、自定義 UI 布局還有對(duì)一些系統(tǒng) API 的綜合運(yùn)用。 通過將近幾天的可行性分析和對(duì)市場(chǎng)需求的調(diào)查,發(fā)現(xiàn)對(duì)手機(jī)衛(wèi)士的需求還是蠻大的,通過技術(shù)和經(jīng)濟(jì)上的分析,開發(fā)出一款手機(jī)安全衛(wèi)士是切實(shí)可行的,這就為我們后來的準(zhǔn)備工作有了一個(gè)良好的開端。 盡力使每個(gè) Android 都可以安裝這款軟件,其中手機(jī)防盜模塊構(gòu)思是根據(jù)用戶是否開啟防盜服務(wù)而啟動(dòng)的,根據(jù)用戶預(yù)設(shè)的密碼和手機(jī) SIM 更換的狀態(tài)來保護(hù)用戶的隱私。 所有的功能模塊都是運(yùn)行于 Android 平臺(tái)之上的,各個(gè)模塊之間的耦合度比較低,都能獨(dú)立運(yùn)行在模擬器或者用戶的移動(dòng)終端上,方便用戶的操作,能夠?qū)崿F(xiàn)用戶的日常需求。電話短信備份和還原,保護(hù)手機(jī)的數(shù)據(jù)和通訊安全。 ⑤ 手機(jī)殺毒: 從服務(wù)器下載最新的病毒庫(kù),根據(jù)程序的包名和程序的數(shù)字簽名識(shí)別病毒,提示用戶并查殺惡意軟件,使吸費(fèi)木馬無處可藏。 項(xiàng)目框架簡(jiǎn)介 整體項(xiàng)目采用 MVC 框架進(jìn)行設(shè)計(jì)和開發(fā), MVC 全名是 Model View Controller,是模型 (model)-視圖 (view)-控制器 (controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯式分離的方法組織代碼,將業(yè)務(wù)邏輯被聚集到一個(gè)部件里面,在 界面和用戶圍繞數(shù)據(jù)的交互能被改進(jìn)和個(gè)性化定制的同時(shí)而不需要重新編寫業(yè)務(wù)邏輯。使用MVC 應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。 :是一個(gè) Ant腳本,用于編譯應(yīng)用程序和在設(shè)備上安裝應(yīng)用程序。 gen/:文件夾, Android 構(gòu)建工具存放它們生成的源代碼的地方。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 需求分析 6 tests/:文件夾,用于存放完全獨(dú)立的 Android 項(xiàng)目,以便測(cè)試你所創(chuàng)建的項(xiàng)目。 本章小結(jié) 本章主要介紹了該項(xiàng)目開 發(fā)的需求分析,以及開發(fā)此項(xiàng)目的的可行性分析,另外對(duì)項(xiàng)目要實(shí)現(xiàn)的功能模塊、開發(fā)模式的簡(jiǎn)介和包的組織結(jié)構(gòu)進(jìn)行了詳細(xì)的介紹。此外,具體各個(gè)模塊的功能設(shè)計(jì)也進(jìn)行了詳細(xì)的介紹,只有熟悉了模塊本身的需求和頁面布局,才能更好地完成功能界面的設(shè)計(jì)。 Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人 PC、數(shù)據(jù)中 心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開發(fā)者專業(yè)社群。 Java 是功能完善的通用程序設(shè)計(jì)語言,可以用來開發(fā)可靠的、要求嚴(yán)格的應(yīng)用程序。在 Java 版本中, Java 又引入了泛型編程( Generic Programming)、類型安全的枚舉、不定長(zhǎng)參數(shù)和自 動(dòng)裝 /拆箱等語言特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的性能。另外一方面, 3G 應(yīng)用往往會(huì)和企業(yè)級(jí)應(yīng)用相互結(jié)合。服務(wù)( Service): 后臺(tái)運(yùn)行服務(wù),不提供界面呈現(xiàn)。 一般一個(gè) Android 應(yīng)用是由多個(gè) Activity 組成的。 ③ 廣 播接收者:在 Android 中, Broadcast 是一種廣泛運(yùn)用的在應(yīng)用程序之間傳輸信息的機(jī)制。 3) Android 平臺(tái)的優(yōu)勢(shì)與劣勢(shì) Android 平臺(tái)有五大優(yōu)勢(shì)特色。開放的平臺(tái)也會(huì)帶來更大競(jìng)爭(zhēng),如此一來,消費(fèi)者將可以用更低的價(jià)位購(gòu)得心儀的手機(jī)。 ③ 豐富的硬件選擇 這一點(diǎn)還是與 Android 平臺(tái)的開放性相關(guān),由于 Android 的開放性,眾多的廠商會(huì)推出千奇百怪,功能特色各具的多種產(chǎn)品。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給 Android 難題之一。 ① 版本過多,升級(jí)過快 由于 Android 的開放式特點(diǎn),所以很多的廠商推出了定制的界面,如 HTC Sense、 MOTO Blur、三星 Touchwiz 等等,這提供給客戶豐富選擇的同時(shí),也造成版本過多,升級(jí)較慢的特點(diǎn),因?yàn)?Google 的升級(jí)速度很快,而廠商要推出新固件需要經(jīng)過深度的研發(fā),就造成升級(jí)滯后的問題。 SQLite 操作簡(jiǎn)單,能夠使用很多語言直接創(chuàng)建數(shù)據(jù)庫(kù),而不象 Access 一樣需要 Office 的支持。許多公司(如 Adobe、蘋果公司、 Google、 Sun 和 Symbian)和開源項(xiàng)目(如 Mozilla、 PHP 和 Python)都在產(chǎn)品中使用了 SQLite。 對(duì)于程序員來說,學(xué)習(xí) SQLite 就相當(dāng)于學(xué)習(xí)一個(gè)新的 API,它很容易上手。 SQLite 操作簡(jiǎn)單,能夠使用很多語言直接創(chuàng)建數(shù)據(jù)庫(kù),而不象 Access 一樣需要 Office 的支持。 本章小結(jié) 本章主要對(duì)開發(fā)此項(xiàng)目的所用到的開發(fā)工具 、支持的平臺(tái)和所用的數(shù)據(jù)庫(kù)進(jìn)行簡(jiǎn)要的介紹。加深了對(duì)項(xiàng)目開發(fā)的理解,并不僅僅是代碼的編寫,而是整個(gè)開發(fā)流程的控制。 ① 模塊 化 模塊化設(shè)計(jì)不僅減低了模塊之間的耦合性,使得系統(tǒng)容易修改,而且推動(dòng)了系統(tǒng)各個(gè)部分的并行開發(fā),從而提高了軟件的設(shè)計(jì)效率??傮w模塊 結(jié)構(gòu)圖如圖 所示。手機(jī)防盜設(shè)置向?qū)I(yè)務(wù)流程圖如圖 所示。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 項(xiàng)目設(shè)計(jì) 15 創(chuàng) 建 S m s R e c e i v e r 類 繼承 B r o a d c a s t R e c e i v e r覆 寫 o n R e c e i v e r ( )方 法判 斷 手 機(jī) 防 盜是 否 開 啟獲 取 到 所 有 短 信 的內(nèi) 容獲 取 地 址 發(fā) 送 給 安全 號(hào) 碼清 除 手 機(jī) 的 數(shù) 據(jù)讓 手 機(jī) 播 放 報(bào) 警 音樂獲 取 到 最 后 的 G P S信 息 發(fā) 給 安 全 號(hào) 碼如 果 短 信 內(nèi) 容為 * l o c a t i o n * 如 果 短 信 內(nèi) 容為 * g e t g p s * 如 果 短 信 內(nèi) 容為 * a l a r m * 如 果 短 信 內(nèi) 容為 * w i p e d a t a * 是是是是是否否否 圖 檢驗(yàn) SIM卡串號(hào)流程圖 根據(jù)遠(yuǎn) 程指令向手機(jī)發(fā)送信息指令,用來鎖定手機(jī)、獲取手機(jī)的位置、遠(yuǎn)程銷毀手機(jī)的數(shù)據(jù),保護(hù)用戶的隱私不被泄露,則短信的廣播接收者業(yè)務(wù)流程圖如圖 所示。該模塊的業(yè)務(wù)流程如圖 所示。其 業(yè)務(wù)邏輯流程如圖 。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 數(shù)據(jù)庫(kù)設(shè)計(jì) 20 5 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)過程描述 數(shù)據(jù)庫(kù)實(shí)際采用軟件工程的思想和方法它是目前公認(rèn)的比較完整和權(quán)威的一種規(guī)范設(shè)計(jì)法。所謂抽象是對(duì)實(shí)際的人、物、事和概念進(jìn)行認(rèn)為處理,它抽取人們關(guān) 心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。 ① 黑名單的數(shù)據(jù)庫(kù)設(shè)計(jì),由于黑名單的屬性有姓名、電話號(hào)碼、攔截模式這三個(gè)屬性,它的 ER 模型如圖 所示。 河南城建學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 數(shù)據(jù)庫(kù)設(shè)計(jì) 22 號(hào) 碼 歸 屬 地 信 息號(hào) 碼 所 屬 城 市 號(hào) 碼 所 屬 城 市 區(qū) 號(hào)號(hào) 碼 類 型 圖 號(hào)碼歸屬地信息 ER圖 ④ 常用號(hào)碼的信息數(shù)據(jù)庫(kù)設(shè)計(jì),常用號(hào)碼包含有號(hào)碼的 id,電話信息,常用號(hào)碼的名稱,常用號(hào)碼的 ER 模型如圖 。從 ER圖所表示的概念模型可以轉(zhuǎn)換成任何一種具體的 DBMS 所支持的數(shù)據(jù)模型,這里只介紹 ER 圖如何向關(guān)系模型進(jìn)行轉(zhuǎn)換,一般的邏輯結(jié)構(gòu)設(shè)計(jì)分為一下三步,如圖 所示。 一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的鍵就是關(guān)系的鍵。 黑名單號(hào)碼( 姓名 ,電話號(hào)碼,攔截模式) 軟件信息( 軟件包名 ,軟件名稱,系統(tǒng)軟件,用戶軟件,軟件圖標(biāo)) 號(hào)碼歸屬地信息(號(hào)碼 id, 號(hào)碼所屬城市 ,號(hào)碼所屬城市的區(qū)號(hào),號(hào)碼類型) 常用服務(wù)電話號(hào)碼( 號(hào)碼 ID,號(hào)碼所屬服務(wù)名稱,號(hào)碼電話信息) 病毒信息(描述, ID, MD5 數(shù)字簽名,類型, 應(yīng)用程序包名 ) 已加鎖程序信息( 應(yīng)用程序包名 ,程序 ID) 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)最終要存儲(chǔ)在物理設(shè)備上。本系統(tǒng)物理設(shè)計(jì)采用 SQLite 數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的存數(shù),以下是本系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)的字段情況。 表 常用號(hào)碼數(shù)據(jù)表 Name Declared type Type Size Not null _id varchar(2) integer 2 yes number varchar(20) integer 20 yes name varchar(20) varchar 20 yes ④ 程序鎖數(shù)據(jù)表 程序鎖( applock)表用來存儲(chǔ)已加鎖的所建,所用到的字段有 _id 和應(yīng)用程序的包名( packname),其具體設(shè)計(jì)如表 所示。 ① 通過執(zhí)行代碼控制數(shù)據(jù)庫(kù)的增、刪、改、查,具體添加數(shù)據(jù)并查詢出結(jié)果,對(duì)于手機(jī)殺毒的數(shù)據(jù)庫(kù)的測(cè)試結(jié)果如圖 。 本章小結(jié) 本章主要介紹了數(shù)據(jù)庫(kù)設(shè)計(jì)的幾個(gè)階段,包括系統(tǒng)需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施等幾個(gè)階段,并通過圖片、圖表以及文字進(jìn)行了詳細(xì)的說明。 用戶體驗(yàn)界面的設(shè)計(jì) ① splash 界面,其主要功能是初始化數(shù)據(jù)、聯(lián)網(wǎng)檢查服務(wù)器是否有新的版本更新和展示手機(jī)衛(wèi)士的 logo,可以提高用戶的體驗(yàn)效果。而且在后臺(tái)設(shè)計(jì)這個(gè)頁面時(shí),由于需要聯(lián)網(wǎng)進(jìn)行更新,這是一個(gè)比較耗時(shí)的操作,所以聯(lián)網(wǎng)的操作放在的子線程里進(jìn)行執(zhí)行,避免由于請(qǐng)求服務(wù)器產(chǎn)生 anr( Application Not Responding)異常。其下方的模塊就是一個(gè)設(shè)置 numColumns 為 3 的 GridView 顯示出來的,主界面展示如圖 所示。其顯示效果如圖 所示。其下方放置一個(gè)線性布局,對(duì)其方式設(shè)為水平方向,左邊設(shè)置一個(gè) ImageView 控件,指定一個(gè)小圖片,右邊放置一個(gè) TextView 控件,寫入文本的內(nèi)容,下面幾個(gè)也是這種布局。 圖 設(shè)置向?qū)У谝徊浇缑? ② 設(shè)置向?qū)У诙降脑O(shè)計(jì)