送给最好的ta是什么

2019-10-8

一时间一款手机软件成功传播各大高校,成为学生之间的恶搞之物,这背后到底是怎么一回事呢,赶快一起看看吧!

送给最好的ta是什么

在往常一样的普通课堂上,响亮的娇喘声打破了原本的宁静,一场恶作剧正在个高高校上演。一款名为“送给最好的TA”的手机APP在安装后,会自动播放娇喘声音,且无法调音量,无法关机。最终有同学为了保全名誉,只能当场掰断手机。因为事件发生在9月27日,因此这一些列事件被大家称之为“927事件”。

网上也有大佬马上给出了这款APP的运行原理,转载自吾爱破解XhyEax

有人传了个apk文件,名字叫送给最好的TA。这是一个整人app,安装并打开会播放一段音频,并循环调节媒体音量,维持最大值。从后台划掉/卸载/关机都可以解决

apk分析

拿到样本之后,别急着安装运行,先看看它的目录结构。

送给最好的ta是什么图片1

打开assets文件夹,看到有一个mp3文件以及两个加密后的lua脚本:

送给最好的ta是什么图片2

运行app后会自动播放这个音频文件,先对它进行替换。

这里使用AU对该mp3进行了静音处理。

(其实可以替换成自己想要播放的音频,重打包签名即可)。

找到加载lua的关键函数

众所周知,lua脚本需要加载,而在加载之前肯定是要先解密的,所以只要找到解密函数,然后就可以把解密后的lua脚本dump出来。

使用IDA打开libluajava.so,经过分析找到函数luaL_loadbufferx

luaL_loadbufferx的第二个参数是加密的字节数组,第三个参数是大小,第四个参数是lua文件位置。

这个函数就是加载加密lua脚本的地方,其中对脚本进行了解密操作。

根据第四个参数我们可以区分目前加载的lua脚本名称,从而选择性地dump

(即在函数开头下断点,查看第四个参数内容)

luaL_loadbufferx函数伪代码如下:

送给最好的ta是什么图片3

首先对输入的字节数组进行判断,如果以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中完成:

送给最好的ta是什么图片4

大致看了一下,其实就是播放音频和循环调节媒体音量,并拦截了返回键。

主要功能其实跟以前那个叫目力的app差不多。(不过今天这个apk的音频就太那啥了...)

想要了解更多关于本次事件的看法可以下载知乎查看!

最新游戏

火爆手游

相关游戏

推荐下载

最新合集

云原神游戏合集2021-8-17 单身交友软件合集2021-8-16 暗区突围1.0.52.52游戏安装2021-8-17 云原神下载合集2021-8-16 旋转轮胎游戏合集2021-8-17 抖音拍卖软件合集2021-8-16 去演app合集2021-8-17 MIUI12.5增强版合集2021-8-17 盾之勇者成名录游戏合集2021-8-17 画质怪兽安卓版本合集2021-8-16

相关文章

江湖悠悠信阳毛尖谁加的好感最多?该送给谁?信阳毛尖赠送攻略[多图] 遇见逆水寒苹果送给哪个男角色[图] 遇见逆水寒弓箭送给谁[图] 遇见逆水寒绣囊送给谁[图] 送给最好的ta是什么[多图] 龙族幻想鸡毛信要送给谁呢任务通关攻略[多图]

网友评论

加载更多
回复 [1楼 ]取消回复