鄭建軍 鹽城生物工程高等職業(yè)技術(shù)學(xué)校
為更好地滿足用戶應(yīng)用需求,本系統(tǒng)分別面向PC、安卓這兩大主流平臺(tái)進(jìn)行了設(shè)計(jì),主體部分選擇了當(dāng)前應(yīng)用比較廣泛的C/S 模式,通過(guò)JAVA 語(yǔ)言進(jìn)行程序設(shè)計(jì),系統(tǒng)在設(shè)計(jì)過(guò)程中選用了包括等在內(nèi)的多種開(kāi)源模塊,系統(tǒng)由四類組件構(gòu)成,一是捆綁器組件,二是遠(yuǎn)程植入器件,三是防修改數(shù)字簽名繞過(guò)組件,四是遠(yuǎn)程控制程序組件。
系統(tǒng)主要由四類組件構(gòu)成:一是捆綁器組件,二是遠(yuǎn)程植入器件,三是防修改數(shù)字簽名繞過(guò)組件,四是遠(yuǎn)程控制程序組件,其構(gòu)成模式可參考下圖1。后文將對(duì)各組件進(jìn)行全面細(xì)致地說(shuō)明和分析。
遠(yuǎn)程植入組件在實(shí)際應(yīng)用中需要隱匿地將遠(yuǎn)程控制程序即時(shí)高效地遠(yuǎn)程植入并裝設(shè)于指定安卓手機(jī)中。從技術(shù)層面來(lái)講,要想實(shí)現(xiàn)以上功能并非易事,需克服兩大難題,一方面,安卓系統(tǒng)的結(jié)構(gòu)比較獨(dú)特,其程序格式多以Apk 為主,需要占用較大空間;另一方面,客戶端需要實(shí)現(xiàn)多種功能,而這即意味著程序需占用較大空間,往往要數(shù)兆。
本系統(tǒng)選用捆綁器組件的主要目的是為了擴(kuò)展應(yīng)用功能,更好地滿足用戶需求。對(duì)于遠(yuǎn)程控制系統(tǒng)而言,需滿足兩個(gè)基本要求:一是滿足被控制者的隱匿性要求;二是滿足不可控要求。所以,在設(shè)計(jì)系統(tǒng)的過(guò)程中,應(yīng)以一種隱匿的形式保存遠(yuǎn)程控制程序,除此之外,還需要保證在預(yù)定時(shí)刻運(yùn)行及通訊。本系統(tǒng)擬在借鑒PC 平臺(tái)代碼植入思想的基礎(chǔ)上,以一種科學(xué)合理的方式將遠(yuǎn)程控制程序和具有合法性且符合要求的Apk 文件捆綁在一起,同時(shí)將其嵌入植入頁(yè)面之中,在此過(guò)程中,無(wú)需操作者人為控制,Apk 文件在正常運(yùn)行后,隱秘的遠(yuǎn)程控制程序可以直接利用同一個(gè)啟動(dòng)接口進(jìn)行運(yùn)行。
研發(fā)此組件的主要目的在于實(shí)現(xiàn)對(duì)指定用戶的不可見(jiàn)性。在安卓系統(tǒng)中,為全面有效地維護(hù)程序設(shè)計(jì)人員的合法權(quán)益,避免其程序被非法用戶篡改,采用了當(dāng)前應(yīng)用比較廣泛的Apk 程序數(shù)字簽名機(jī)制,程序研發(fā)成功且還未正式對(duì)外發(fā)布時(shí),設(shè)計(jì)人員可通過(guò)私鑰對(duì)程序?qū)嵤?shù)字簽名操作,用戶在下載并安裝此程序的過(guò)程中,要通過(guò)保存在Apk 文件中的公鑰解密,若無(wú)法有效解密,則意味著此程序已被非法用戶篡改,由此實(shí)現(xiàn)對(duì)程序的有效保護(hù)。在此次設(shè)計(jì)中,防篡改數(shù)字簽名繞過(guò)模塊的主要功能是為安卓平臺(tái)驗(yàn)證程序提供支持和協(xié)助,從而確保遠(yuǎn)程控制程序可以高效、合理、準(zhǔn)確地安裝。
在實(shí)際應(yīng)用中,遠(yuǎn)程控制程序組件負(fù)責(zé)和服務(wù)端之間保持穩(wěn)定、持續(xù)、可靠地通信,實(shí)時(shí)精準(zhǔn)地獲取來(lái)自服務(wù)端的控制請(qǐng)求,同時(shí)將目標(biāo)手機(jī)中的相關(guān)信息實(shí)時(shí)、高效地傳輸至服務(wù)端。該組件細(xì)分為兩種:一種是客戶端組件,它在遠(yuǎn)程植入組件的協(xié)助下被裝入指定手機(jī),操作者重啟后即能夠激活客戶端和服務(wù)端進(jìn)行實(shí)時(shí)化、動(dòng)態(tài)化通信。為全面有效地滿足遠(yuǎn)程控制需求,客戶端應(yīng)包括監(jiān)聽(tīng)命令、功能包等基本模塊。
另一種則是服務(wù)端組件,它增設(shè)了能夠分類處理和顯示來(lái)自客戶端的信息的功能,在此基礎(chǔ)上,還增加了等若干個(gè)不同的開(kāi)源包,遠(yuǎn)程控制流程詳情可參考下圖。
圖2 遠(yuǎn)程控制流程圖
在遠(yuǎn)程控制模塊,遠(yuǎn)程控制指令的設(shè)計(jì)缺乏靈活性,其實(shí)可以借助手機(jī)中的許多感應(yīng)器功能設(shè)置更多的有助于保護(hù)用戶隱私信息的指令,如利用照相機(jī)或感光器、充電接口等硬件來(lái)開(kāi)發(fā)更多的控制功能。