新型联网安卓多层锁机木马分析
作者:云在天(Harry_孙) 吾爱破解论坛首发
所用工具
- 安卓模拟器
- Eclipse
- JEB2
- Android killer
样本信息
文件名称:刺激战场盒子.apk
文件大小:14.67MB
MD5值: 05ba07c1c017b7f7725025514241c403
释放木马路径:/system/app/bx.apk
哈勃分析链接:https://habo.qq.com/file/showdetail?md5=05ba07c1c017b7f7725025514241c403
样本来源:
手机锁机了。求助。
https://www.52pojie.cn/thread-709946-1-1.html
(出处: 吾爱破解论坛)
样本下载地址: https://pan.baidu.com/s/1rAm0tBQDINWUIxpD8s_f7A 密码: 87dt
行为分析
这个木马是以一个软件【刺激战场盒子】为载体,请求Root权限后,释放的锁机病毒。我们直接在模拟器里安装运行,授权,让他释放这个病毒,释放路径为:system/app/bx.apk然后用adb pull命令提取到电脑上,分析。
附运行后截图:
PS:因为背景图违法相关规定,这里的背景图已去除
这里我们就大致知道是一个根据生成的识别码来计算解锁密码的程序,接下来我们反编译
反编译
- 确定入口:把APK文件拖入【Android killer】中,等待加载完成就可以看到入口点了。
- 反编译Dex文件:把classes.dex解压出来,用JEB2打开,找到刚才Android Killer提示的入口类,主要代码如下
@Override protected void onCreate(Bundle arg14) {
Class v8;
MainActivity v0 = this;
LogCatBroadcaster.start(v0);
super.onCreate(arg14);
Intent v5 = null;
Intent v6 = null;
MainActivity v7 = v0;
try {
v8 = Class.forName("lengmo.lockphone.lock");
//上面初始化lengmo.lockphone.lock这个类
}
catch(ClassNotFoundException v5_1) {
throw new NoClassDefFoundError(v5_1.getMessage());
}
super(((Context)v7), v8);
//访问这个前面初始化的类
v5.addFlags(268435456);
v0.startService(v5);
v0.finish();
}
从上面可以看到这里跳转到lengmo.lockphone.lock类,我们继续往下分析这个类
3. 分析lengmo.lockphone.lock
首先定义了如下变量供加解密调用
private String INTERNET;
private String READ_SMS;
private a cold;
private b des;
private Handler handler;
private boolean isneedAdd;
String leng;
private windows lm;
private int lock2xl;
private int lock3xl;
int lock4xl;
private int lockxl;
String mm;
private Runnable r;
private static final String sssz = "57724485ccdb969591f26fc30d622e6f7d7478bb";
private boolean user_first;
public lock() {
super();
this.isneedAdd = true;//这个变量是需不需要开启,无用变量。
this.handler = new Handler();
}