送给最好的Ta官方版更多的恶搞声音满足你的趣味,这是一个适合在夜深人静一个人玩的软件,能根据你的需要发出各种有趣的内容。今天是2019年9月27号,很多大学里面都发生了一件大事,一款名为送给最好的Ta官方版的软件整洁了整个大学校园,据说这款软件非常的神奇,非常的恶搞,能够让手机发出那种让人脸红、恶搞的声音,很多学生上课开会的时候出现了这种声音,这称为9.27事件始末,其实,今天群里有人传了个apk文件,名字叫送给最好的TA。这是一个整人app,感兴趣的用户赶紧来来下载吧。
小编点评
各位用户如果有该软件的话,一定不要在课堂或者人多的地方使用,危险系数非常之大。
使用说明
有人传了个apk文件,名字叫送给最好的TA。这是一个整人app,安装并打开会播放一段音频,并循环调节媒体音量,维持最大值。从后台划掉/卸载/关机都可以解决
apk分析
拿到样本之后,别急着安装运行,先看看它的目录结构。
打开assets文件夹,看到有一个mp3文件以及两个加密后的lua脚本:
运行app后会自动播放这个音频文件,先对它进行替换。
这里使用AU对该mp3进行了静音处理。
(其实可以替换成自己想要播放的音频,重打包签名即可)。
找到加载lua的关键函数
众所周知,lua脚本需要加载,而在加载之前肯定是要先解密的,所以只要找到解密函数,然后就可以把解密后的lua脚本dump出来。
使用IDA打开libluajava.so,经过分析找到函数luaL_loadbufferx
luaL_loadbufferx的第二个参数是加密的字节数组,第三个参数是大小,第四个参数是lua文件位置。
这个函数就是加载加密lua脚本的地方,其中对脚本进行了解密操作。
根据第四个参数我们可以区分目前加载的lua脚本名称,从而选择性地dump
(即在函数开头下断点,查看第四个参数内容)
luaL_loadbufferx函数伪代码如下:
首先对输入的字节数组进行判断,如果以1B开头,且第二位不是0C,则进行解密操作,否则直接调用j_lua_load加载lua脚本
在第41行下断点即可获取到解密后的字节数组,从而dump
动态调试进行dump
IDA在第41行断下之后,运行python脚本dump即可
import idaapidata = idaapi.dbg_read_memory(0xf4daff00, 0x3000)fp = open('d:dump.lua', 'wb')fp.write(data)fp.close()
此处的0xf4daff00, 0x3000需要替换成起始地址和长度
长度写大一点也没事,可以再用010Editor删除(所以我这写的0x3000)
分析lua
由于解密出来的lua也不是源码形式,而是字节码,所以脚本逻辑看起来没那么轻松,但也不是不能理解。
主要功能在main.lua中完成:
大致看了一下,其实就是播放音频和循环调节媒体音量,并拦截了返回键。
主要功能其实跟以前那个叫目力的app差不多。(不过今天这个apk的音频就太那啥了...)
相关资讯
原音频据说是桥本有菜的美脚女老师。。。
再再次更新。
给这位同学点赞,完美实践了“科技向善”。
更新,我发现有的同学太社会了。
怕这软件被认出来,有人改名字发到群里忽悠人,有人改程序大小坑人。
佩服佩服。
牛逼软件,凭借yin叫声攻破了北清复交浙大华科同济哈工大等诸多国内知名高校。
一举活跃了中国各大高校课堂气氛(尤其我们学校上思修近纲之类的水课),让下载好点开的勇士名垂青史。
注:头铁的各位,觉得床叫声满足不了的话,可以试试卢本伟sb的那个病毒软件,以及送给亲爱的她那个吓人恶搞软件。
首先,希望大家不要下载、不要传播这个 app。
结论:从所使用的框架(看起来比较小众)、lua 源码来看,作者并没有收集用户信息并上传的意思,只是简单的恶搞行为。大家只需要将应用卸载就行了,不必上升到格式化和重装手机,毕竟现在的安卓安全性也没那么差。
高赞的那些反编译截图与解读其实是有点问题的,大家冷静一下。反编译出来的文件里并没有高赞里传的 B 站 up 主的信息,不知道那个图从何而来?
不知道开发这个 app 的开发者有没有涉嫌违法,还请法律人士来解答一下。(已经大规模传播并造成了恶劣影响)
下面给大家分析一下这个 apk 里有点什么,同时也教大家如何自己动手粗略看一下这个 apk 里有些啥。我得到的是那个大小为 741707 字节,MD5 为 9819f3fa458129d7ca092c32839b7f38,应用名为 <送给最好的TA> 的 apk。
首先打开http://www.javadecompilers.com/apk/,将这个 apk 上传,然后下载反编译后的压缩包。
解压后你就可以在sources/文件夹里查看代码,在resources/文件夹里找到一些资源信息。现在我来给大家分析一下。
先看一下文件resources/AndroidManifest.xml,可以看到里面有文件写入的权限,也有网络访问的权限(难道真的会收集信息?),还可以发现启动的是com.androlua.Welcome这个Activity,在sources文件夹将其找到,打开看了一下,像是一个庞大的项目。不过第 213 行有一句代码
textView.setText(new String("Powered by AndoLua+"));
很可能AndoLua+是一个框架,搜索之,然后得到这样的一个结果
看了一下这个框架,似乎是国人开发的一个 lua 写安卓应用的框架,在贴吧里翻了下,似乎受众都是一群想快速开发 app 的小白?
然后在resources/assets文件夹里找到了main.lua,但是发现似乎是编译后的字节码,无法直接查看其源码。同时该文件夹下还有一个init.lua,在resources/lua文件夹下还有几个lua文件。根据大佬的教导,得先对这些 lua 文件解密,然后再反编译。