飞道的博客

程序代码 | 关于O泡果奶文件事件,一份礼物apk

438人阅读  评论(0)

前言: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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场