这个样本之前有大神已经大致的分析结果了,不过没有给出详细的分析过程:
一款比较顽固的手机锁屏木马 分析
http://www.52pojie.cn/thread-506111-1-1.html
今天自己对这个样本也做了分析,给出了分析步骤,希望可以给没有的基础的一些分析思路,应该不算是重贴吧。。。
样本在:
一款比较顽固的手机锁屏木马
http://www.52pojie.cn/thread-506088-1-1.html
这是一个叫“锁机生成器”的坑,运行后如下:
很明显地要求root权限,算是黑吃黑吧,输入信息后,点击确定,给root权限,重启了。。。。结果锁屏了。。。。
现在来对这个锁屏apk进行分析
首先打算将apk放到
JEB
上进行反编译,结果出错,反编译不了;那就尝试解压apk拿到class.dex,成功从dex获得java源码:
两个包的源码是相同的,这里由于没法对整个apk进行反编译,想尝试用
Android killer
来得到apk的manifest.xml也是不行的,所以没法得到apk的总体情况,不过不影响对样本的分析,从源码也可以看到,没有进行混淆,现在直接对com.binge.suoji下的MainActivity这个类进行分析,锁定onCreate():
其中重要的是按钮的监听事件,以及注释的那个函数的调用,双击进入看一下:
这个d()方法就是将asset目录下的ijm-x86.so拷贝到/sdcard/binge.1,这里是包中有包,伪装为爱加密的so,下边来看按钮监听事件完成了那些操作:
接着就是rootshell()了:
执行了一系列命令!
mount -o rw,remount /system //重新将/system挂载为可读写
mount -o rw,remount /system/app //同上
cp /sdcard/binge.l /system/app/ //将binge.1复制到/system/spp
chmod 777 /system/app/binge.l //该文件权限
mv /system/app/binge.l/system/app/binge.apk //改为apk
chmod 644 /system/app/binge.apk //又改权限。。。。
reboot //重启!
从这些命令可以看出so其实就是一个apk,重载/system的只读属性,将apk写到/system/app,成为系统apk,然后重启啦。
现在便是对ijm-x86.so这个apk进行分析啦,照样没法对整个apk进行反编译,解压取出clase.dex进行分析:
继续锁定MainActivity下的onCreate():