可以在线看黄的网站-可以免费在线看黄的网站-可以免费看污视频的网站-可以免费看毛片的网站-欧美电影免费看大全-欧美电影免费

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)

編者按:本期,數據恢復四川省重點實驗室科研人員重點介紹一種編寫手機APP取證腳本的方法,在手機取證實戰中,該技術方案擴展性強,可助力一線取證人員有效應對暫不支持的APP數據提取問題。

一、簡介

手機APP,即手機應用程序,APP是Application的縮寫。手機軟件就是安裝在手機上的軟件,完善原始系統的不足與個性化(圖1)。隨著科技的發展,現在手機的功能也越來越多,越來越強大,發展到可以和電腦相媲美。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖1 手機APP】

1、手機APP種類多

隨著智能手機迅速普及和用戶的海量增長,新的手機App層出不窮(圖2)。2015年1月份的數據顯示,以Android系統為主的Google Play應用商店,App數量超過140萬。而7月份的報道數據顯示,蘋果AppStore應用商店里的App數量已超過150萬。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)
【圖2 手機App數量增長趨勢圖】

2、手機APP版本多

不僅如此,隨著時間推移,App新舊版本更替頻繁,比如手機QQ,從2012年到目前,Android上已經有超過30個版本,IOS上也有10多個版本更新(圖3)。不同版本之間的數據存儲結構也有很大區別。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖3 手機QQ歷史版本】

新App的支持和已有App的版本更新,使得手機取證也遇到了很大的難題。如果針對每個App的每個版本都由軟件研發人員編寫代碼實現解析,這將是一件非常龐大的工程,而且很有可能難以跟上APP的更新速度,導致手機APP取證遭遇難題。

二、技術方案

在這種情況下,數據恢復四川省重點實驗室科研人員推薦一種腳本插件式開發的解決方案,能快速、有效解決手機APP取證不兼容的難題。

1、什么是腳本插件式開發

插件是指不修改程序的情況下對程序的功能進行擴展,任何人都可以按照相應的規則制作插件來新增或修改程序功能,實現“即插即用”軟件開發。腳本是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件。腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。常用的腳本語言包括python、JavaScript等。

2、腳本插件式開發的3大好處

2.1 不需重新下載安裝軟件

利用腳本插件式開發,可以將數據解析與軟件界面分開,便于軟件框架的搭建和程序的擴展,當添加新App或App版本更新時不需要重新下載安裝軟件,直接將新腳本添加到對應目錄即可;

2.2 用戶自己可編寫

腳本采用常見的python、JavaScript等語言編寫,易學易懂。不僅軟件研發人員可以編寫腳本,客戶在遇到突發的不能解決的數據解析時也可以自己編寫腳本;

2.3自動匹配插件

可以通過App名稱、生產廠商、軟件版本自動匹配插件,方便有效。

3、怎么編寫腳本插件

下面我們以取證工具SPF9139智能手機取證分析系統在Android下解析途牛旅游App為例來說明如何編寫腳本插件。

3.1生成數據

首先,我們在手機上下載安裝“途牛旅游App”,然后創建賬號并使用,產生數據(圖4),包括飛機票、火車票、乘車人記錄、酒店查詢記錄等。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖4 下載安裝使用APP產生數據】

3.2 提取數據

利用第三方工具從手機中提取App的數據到本地。(圖5、圖6)

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖5 紅色框代表途牛插件App的名稱、安裝路徑、版本等基本信息】

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖6 紅色框代表提取到本地的數據路徑】

3.3數據分析

經過分析,途牛App的數據存儲結構如下(圖7、圖8、圖9、圖10)

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖7 途牛App相關數據文件路徑及保存的內容】

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖8 途牛App相關數據文件路徑及保存的內容】

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖9 Groupchat數據庫表】

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖10 紅色框為Groupchat數據庫表】

3.4 編寫插件

這里我們可以使用JavaScript編寫插件,該語言編寫工具非常之多,甚至可以使用記事本編寫,非常方便。本期案例我們采用SPF9139智能手機取證分析系統自帶的XLYScriptVisualStudio編寫,好處是便于調試。

腳本分為3部分:配置信息、數據定義和解析數據并生成結果。

3.4.1配置信息

配置信息定義了該腳本關聯的App名稱、版本、分組、所需源文件、數據結構等信息,供主程序調用。我們按照途牛旅游App的信息依次編寫如下(圖11):

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)

【圖11 編寫腳本配置信息】

3.4.2 數據定義

根據樹形菜單節點分別定義js數據結構,比如游客歷史記錄信息節點TouristHistory定義如下(圖12):

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖12 編寫腳本配置信息】

3.4.3 解析數據并生成結果

根據之前分析結果,編寫解析代碼并生成結果。由之前的分析得知,途牛的數據主要存儲于groupchat.db(sqlite數據庫)文件和TuniuApp.xml文件中。因此在解析時,只需要讀取sqlite數據庫和xml文件分析即可(圖13、圖14)。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖13 構建樹形菜單列表】

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖14 獲取購買飛機票記錄(其余項目呈現方式一樣)】

點擊XLYScriptVisualStudio的調試按鈕,可以看到最終結果。如果出現了錯誤,則修改代碼并調試(圖15)。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【圖15 腳本調試結果】

3.5 腳本添加

將腳本文件放入軟件對應Script目錄下,重啟軟件,即完成了對腳本文件的添加。添加途牛圖標, 此時開始測試途牛App,發現已經可以解析了, 包括飛機票、火車票、乘車人記錄、酒店查詢記錄等信息(圖16)。

教你怎么編寫智能手機APP的取證腳本(教你怎么編寫智能手機app的取證腳本教程)【?圖16 在SPF9139智能手機取證分析系統程序中查看新加的途牛插件】

總結:與傳統方式相比,腳本插件方式最大的優點就是擴展性強。當取證人員遇到突發性的無法解析的App時,不需要等到軟件新版本的發布才處理,只需要手動編寫腳本,即可完成解析工作,幫助取證人員快速獲取手機中的電子證據。目前,該技術已經在效率源SPF9139智能手機取證分析系統中應用,極大地延展了SPF9139的APP取證功能,一線取證人員只需簡單學習就可上手,快速編寫可直接應用的APP取證小工具,快速提高手機取證效率。本文重點是以“在Android下解析途牛旅游App”為例,講解腳本插件方式的大概思路與方法,而整個執行步驟是相對復雜的,如果是刪除數據的恢復則會更復雜,有興趣的讀者可聯系效率源工程師進行實戰指導。

相關新聞

聯系我們
聯系我們
在線咨詢
分享本頁
返回頂部