马上注册,下载资源,享用更多功能,让你轻松玩转网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
o泡果奶病毒事件是怎么回事?最近很多高校学生都有被这个“O泡果奶”事情困扰着,安装之后会自动播放出关于“我要哦泡”的声音。之前也有类似的事情发生。那么大家知道o泡果奶魔性事件是怎么回事吗?下面就和小编一起来看看1013事件我要哦泡高校事件。 1、这个o泡果奶的软件其实是没有安全隐患的,不过算是一个执行循环的脚本。 2、目前因为这个软件已经被炒火了,所以很难下载到o泡果奶软件,也不建议大家这时候去下载,因为事件火了,就会被有心人利用,植入真正的病毒木马,到时候很可能会使你的手机中毒,盗取到你的账号,甚至是支付宝密码等等。 3、所以为了你的财产安全,现在开始不要下载任何o泡果奶相关的软件和文件。 4、各个大学已经逐渐被o泡果奶的魔性文件击破,这种流氓软件会让你经历不可磨灭的尴尬瞬间,再次提醒不要瞎装来历不明的软件,apk安装包实在是太容易被改包了。 o泡果奶魔性事件是怎么回事 是最新含有恶性病毒的手机软件。 一个名为“一个礼物”的apk的文件在各大高校中流传,用户们只要手机下载安装o泡果奶病毒apk文件就会自动的播放出关于“o泡果奶”、“我要哦泡”等声音,同时也会造成手机主机卡屏或者是自动锁机等情况! 1013我要哦泡果奶高校事件始末 其实这个o泡果奶时间和去年的“送给最好的TA”软件事件是一样的,不过今年相对来说没有去年那么过分,这次也是一个病毒apk文件,用户只要安装了这个软件,手机就会自动播放出o泡果奶广告的话,而且还是强制播放的,反正建议大家最好是不要在公众场合中乱下软件。
下面为大家发一份O泡时间到APP分析
拿到样本之后,别急着安装运行,先看看它的目录结构。
运行app后会自动播放这个音频文件,先对它进行替换。
这里使用AU对该mp3进行静音处理后,重打包并签名。
(其实也可以替换成自己想要播放的音频)
找到加载lua的关键函数
众所周知,lua脚本需要加载,而在加载之前肯定是要先解密的,所以只要找到解密函数,然后就可以把解密后的lua脚本dump出来。
使用IDA打开libluajava.so,经过分析找到函数luaL_loadbufferx
luaL_loadbufferx的第二个参数是加密的字节数组,第三个参数是大小,第四个参数是lua文件位置。
程序在这个函数中加载加密lua脚本,其中对脚本进行了解密操作。
根据第四个参数我们可以区分目前加载的lua脚本名称,从而选择性地dump
(即在函数开头下断点,查看第四个参数内容)
luaL_loadbufferx函数伪代码如下:
动态调试进行dump
IDA在第41行断下之后,运行python脚本dump即可
此处的0xf4daff00, 0x3000需要替换成解密后字节的起始地址和长度
长度写大一点也没事,可以再用010Editor删除(所以我这写的0x3000)
分析lua
由于dump出来的lua是字节码,并不是源码形式。所以还需要反编译后才能查看源码。(使用unluac_2015_06_13.jar进行反编译)
init.lua中进行包名、版本号、主题、权限等配置
主要功能在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")
- 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() .. "/0.mp3")
- m.prepare()
- m.start()
- m.setLooping(true)
- ti = Ticker()
- ti.Period = 10
- 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
复制代码 先把mp3读取到内存中,然后播放音频并循环调节媒体音量至最大值,同时拦截了返回键。主要功能其实跟以前那个叫目力的app差不多。(不过今天这个apk的音频就太那啥了…)
|