Basic4android编写的恶意APP现身

By | 2015年5月22日

Post by YupaiTS

近期AVL移动安全团队首次发现一款使用Basic4android开发的恶意APP。一旦用户点击运行,用户手机中的大量隐私信息就会被非法窃取。目前,AVL Pro已经可以全面查杀该恶意软件。

一 Basic4android语言介绍

Basic4android(简称B4A)是一个简单然而功能非常强大的Android应用开发环境。Basic4android语言类似于Visual Basic语言,支持更多的对象。Basic4android将代码编译成Android原生(native)应用,无需其它运行环境的支持。与其它的集成开发环境不同,Basic4android是完全用于Android应用开发的开发工具,不支持其它平台。Basic4android包含一个强大的GUI设计器,内建对多屏和坐标的支持,不需要开发者再写XML。开发者可以在Basic4android环境下利用Android模拟器或Android物理设备(利用USB连接或通过本地网络连接)进行程序开发和调试。同时,Basic4android带有非常丰富的库函数,支持所有的Android核心特性,因而使其非常容易进行高级应用开发。

Basic4android提供了SQL数据库、GPS、串口(蓝牙)、照相机、XML、JSON、Web服务(HTTP)、后台服务、动画、网络(TCP和UDP)、文本阅读(TTS)和声音识别、Web浏览、移动电话广告(AdMob)、图表、OpenGL、图像,开发相应功能时可以引用这些库函数来提高开发效率。 1

图1 basic4android功能类库

    采用Basic4android编写的android应用一般有以下几个比较明显的特征:

      1. 资源目录下通常包含以.bal结尾的界面布局文件,用编辑器打开之后可以看到一些常用的界面布局代码;
      2. 只要是引用了Basic4android的库函数,应用的dex文件反编译之后就会包含anywheresoftware.b4a包结构,该包结构中包含Basic4android库函数对应的java类及方法;
      3. 样本程序的入口Activity会继承B4AActivity,并且该入口Activity类中的很多代码都是自动生成的;
      4. 用Basic4android编写的自定义函数如sendsms_Click会在相应的java类中转化成名为\_sendsms\_click()的方法,并且在该方法中会注释java代码是通过编译哪一行Basic4android代码而生成的。

二 恶意代码实例

AVL移动安全团队发现的此款使用Basic4android开发的恶意APP会给用户造成严重的隐私泄露。主要会执行以下恶意行为:

      1. 安装无图标,开机强制启动后台服务,获取root权限。
      2. 将手机QQ好友及聊天记录、本机号码等信息上传至邮箱。

该恶意APP安装无图标,通过am指令启动相关界面,致使用户很难识别出手机已中毒,同时还会上传用户隐私至黑客邮箱。
蓄谋已久的“间谍“会偷偷设置用户隐私的接收邮箱,如图2所示。 2

图2 设置接收用户隐私的邮箱

三 安全建议

由于B4A是一个简单但功能非常强大的Android应用开发环境,所以非常容易进行高级应用开发。这样以来就大大降低了开发难度,让恶意APP开发者有机可乘。

AVL移动安全团队建议大家及时安装手机安装安全软件AVL Pro,并且定期对手机进行安全检测,及时发现手机中的恶意软件。

AVL移动安全团队专注于移动互联网安全技术研究及反病毒引擎研发,提供强大的移动安全解决方案。欢迎关注我们的微信公众号AVLTeam,我们会定期发布一些移动安全相关资讯,希望能够对您有所帮助。 转载请注明来源:http://blog.avlyun.com/?p=2270

文章分享地址:

微信二维码

发表评论

电子邮件地址不会被公开。 必填项已用*标注