PJ头狼 发表于 2016-12-20 15:58

一个简单锁屏样本的分析【锁机生成器】

本帖最后由 PJ头狼 于 2016-12-20 16:03 编辑

这个样本之前有大神已经大致的分析结果了,不过没有给出详细的分析过程:一款比较顽固的手机锁屏木马分析

今天自己对这个样本也做了分析,给出了分析步骤,希望可以给没有的基础的一些分析思路,应该不算是重贴吧。。。

样本在:一款比较顽固的手机锁屏木马

这是一个叫“锁机生成器”的坑,运行后如下:




很明显地要求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/sppchmod 777 /system/app/binge.l//该文件权限mv /system/app/binge.l/system/app/binge.apk   //改为apkchmod 644 /system/app/binge.apk    //又改权限。。。。reboot//重启!从这些命令可以看出so其实就是一个apk,重载/system的只读属性,将apk写到/system/app,成为系统apk,然后重启啦。
现在便是对ijm-x86.so这个apk进行分析啦,照样没法对整个apk进行反编译,解压取出clase.dex进行分析:


继续锁定MainActivity下的onCreate():




这里实现的是启动service:nue.xin.lockphone.nuexin,看一下这个service的onCreate():



现在就是这个布局的按钮监听事件所做的响应操作了:




可以看出这个解锁密码很简单就可以得到,就是20020219了。
之后就是对残余apk进行清理了,这不只是删除在界面中的“锁机生成器”就得了,还需要将为写入到/system/app下的锁屏apk清除掉,用adb来删除,到/system/app目录下

不过通常系统重启,/system又变为只读属性:


所以还重新挂载,改为可读写,再进行清除:



影佑 发表于 2016-12-20 16:22

高深莫测一脸懵逼加迷茫

1204376616 发表于 2016-12-20 16:45

膜拜大神,表示看不懂,这个密码可以看到嘛

回归自然 发表于 2016-12-20 20:45


膜拜大神

h080294 发表于 2016-12-21 17:51

写的非常细致啊,适合我这样没有思路的新手,打算跟着练习一下,非常感谢

hacksky 发表于 2016-12-21 20:51

思路简单明了~厉害

13235699629 发表于 2016-12-22 00:45

高深莫测一脸懵逼加迷茫

赵大粪 发表于 2016-12-22 07:50

13419082695 发表于 2016-12-22 08:07

收藏了。。。。

变态老大叔 发表于 2016-12-22 09:50

膜拜大佬
页: [1] 2
查看完整版本: 一个简单锁屏样本的分析【锁机生成器】