有关某疑似病毒apk“送给最好的ta”的反汇编、逆向以及再实现
有关某疑似病毒apk“送给最好的ta”的反汇编、逆向以及再实现这两天发生的事情就不必多说了叭,这单一的声音我也听了有不止三四次了,周围的人也有中招的…那有人说这个软件要的权限多,又是窃密又是没有隐私的,还有的甚至上升到了技术用来作恶的层面上…我只想说,强啊…这辣鸡小程序都能用来作恶辽。 你们没看这玩意只能从存储卡上读自己里面那两个破图和音频嘛,最多再调用一下。(不信我得信华为吧)
实际上没事,你只要认准这个apk大小是724.32kb,MD5码是9819f3fa458129d7ca092c32839b7f38,SHA256 Hash是205160694c6d86c3056aaa2fb196b485cfa2a8a2f9f08ba966be03b9ebfd936a(这些代码和文件都是一一对应的,我们管这种东西叫做文件校验……)。然后这些个数字都对的话,那你就可以确认,你只是被愚弄了而已。别的就算了,……
这程序还真没别的什么特别神奇的功能。
首先,普及一个小知识,安卓的安装包.apk文件通常是一种压缩包的结构(当然你直接压缩是不可以的,但你可以解压),在编成apk的时候还需要有个数字签名,根据这个简易的思路,我们就可以进行一系列我们的操作……
解了压发现有挺多文件夹和文件的,以防万一再用ApkTool跑一下反汇编,得到了一堆代码和文件。在/assets里我们可以拿到那个被不断反复播放的音频……“0.MP3”然而只有81kb,还是2008年2月29日的……好老啊。在/res/drawable 里我们可以看到icon.png和welcome.png,两个加在一起6.93KB 的东西是可见的。
好了然后表面的资源都看完了,剩下的都是不能看的了(划去)。 其实进行到这一步就可以挺简单的改装这个文件了,找一段音频扔进去,换个图片图标背景什么的,文件整体结构不破坏然后用什么乱七八糟的工具给你编译成一个新的apk,然后你发给别人别人就可以听你想让他听的东西了。重点是有数字签名…和apk的编译方法。
比如:我和我的祖国。
猜测文件里的main.lua是主要指令集,但是lua加密了,找了半天编码的问题,后来其实一共就五六种加密方式,都试试就解了。XhyEax大佬dump出来这个lua了(https://www.52pojie.cn/thread-1030427-1-1.html), down下来读了一下就是很简单的调声音的功能……顺便改个全面屏然后隐藏键盘。
手机上的返回键被关了,然并卵……华为可以上划退出程序的。音量循环调大……就来来回回这么几句话封了个2M多的类,弄了将近8M的垃圾数据,差评。
另外一个init.lua没什么太有用的东西,就是版本号什么的
然后扔到dex2jar里跑一下,然后用jd-GUI读出来程序的class……这里可以看到,挺复杂的(其实刚刚apktool出的/smali也是,就是文件夹太多了然后看着麻烦)
里面
东西爆炸,看到头大……神经病啊装这么多东西不调用。真的只是装逼用的,你看baidu都出来了。
能看到拖出来的AndroidManifest.xml,会给一些配制啊类啊之类的东西的信息。打开看看没什么关键的,倒有好多敏感词,这些要么是屏幕录制啊要么是什么特殊人士使用帮助这种东西……都挺敏感的,还有录音啥啥,但是问题是他搞了这么多一点用也没有……
<activity android:configChanges="keyboardHidden|orientation|screenSize" android:documentLaunchMode="intoExisting" android:excludeFromRecents="false" android:label="送给最好的TA" android:name="com.androlua.LuaActivityX" android:screenOrientation="portrait" android:theme="@style/app_theme"/>
<activity android:label="送给最好的TA" android:name="com.androlua.Welcome" android:screenOrientation="portrait" android:theme="@style/app_theme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name="com.nirenr.screencapture.ScreenCaptureActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
<service android:enabled="true" android:name="com.androlua.LuaService"/>
<service android:enabled="true" android:exported="true" android:label="送给最好的TA" android:name="com.androlua.LuaAccessibilityService" android:permission="android.permission.UNKNOWN">
<meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibility_service_config"/>
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
<category android:name="android.accessibilityservice.category.FEEDBACK_AUDIBLE"/>
<category android:name="android.accessibilityservice.category.FEEDBACK_HAPTIC"/>
<category android:name="android.accessibilityservice.category.FEEDBACK_SPOKEN"/>
</intent-filter>
</service>
<provider android:authorities="com.sgzh.dt" android:exported="false" android:grantUriPermissions="true" android:name="android.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/androlua_filepaths"/>
</provider>
烦人没啥……这个程序我感觉可以简化的地方蛮多的,最后实现不需要700多kb。
至于技术好坏……真不太能算上技术吧。
总结:其实就是个小程序,调用个系统服务调个音量弄成死循环,也没有一直截图的功能,一直截图的我怀疑你不知道某品牌手机按音量加开关键可以截屏。然后你手足无措的给自己截了一大堆图。也没有所谓强大的把耳机的驱动关了直接用手机音响公放的,这我也测试过了,不可以哦……程序里也没这么nb的代码。 要分析,说真的,就那么一点点,别的也没了。 这个程序的应用其实也可以再厉害一点,比如讲道理你把声音换成大悲咒然后在寺庙里可以手动单曲循环一天没别的影响。或者舍友打游戏的时候你直接放这个跟他对刚。但本质就是个小整蛊程序,大可不必如此躁动,他玩的本来就是人和人之间的信任,而不是你的隐私,与其怪原作者不如想象是谁让你打开的这个垃圾程序,谁在试图嘲笑你并且滥用了你的信任的。
孺子牛_Boil
2019/9/28
程序代码什么的我打了个包
链接:https://pan.baidu.com/s/1C5JdfM6GX-H_HHf3bJP9TQ
提取码:m8s7
复制这段内容后打开百度网盘手机App,操作更方便哦
别违法!
知乎我也挂了
https://www.zhihu.com/question/348025779/answer/838374495#showWechatShareTip
有兴趣给我点个赞~
是本人是本人 本帖最后由 涛之雨 于 2019-9-28 22:16 编辑
上张图大家伙开心一下吧。。。
没啥值得同情的。
说别人的问题,
也不知道为啥要在开会/上课的时候打开手机瞎玩?
已做马赛克处理。。。 大家都有整蛊的心 哭了 不会插图…… 我用mt就改掉了语音包,233 谢谢楼主分享 牛啊,就是这个东西,同学上课玩手机的时候打开了,哇…… 哈哈 同事都有中招的 关键是我看不懂啊小白一个 谢谢分享,学习中 据说有人在领导开会的时候打开这个.....;www 可惜毕业了,不然肯定也中招