360fans_u35612563 发表于 2021-9-20 12:07

360儿童手表如何进入调试模式?

本帖最后由 se关注达人 于 2021-9-21 17:36 编辑

360儿童手表如何进入调试模式?
360儿童手表如何进入调试模式(工程模式)呢?今天带大家来看一下
工具/原料
360儿童手表S1/P1
W931_1.0.2106280_dev_userW931_1.0.2106280_dev_user
方法/步骤
1
首先在主页面中找到设置
http://p0.ssl.qhmsg.com/dr/300_396_70/t0196dacffdcaee071f.png
2
进入设置后长按左上角“设置”两个小字
http://p0.ssl.qhmsg.com/dr/300_398_70/t017961f96f4fa2ed40.png
3
之后就需要输入调试密码,我这里的版本是W931_1.0.2106280_dev_user,属于S1,P1是W920,但暂时还没有找到密码,下面是我提取的360儿童手表P1 setting(设置)以及系统ROM更新包的文件,还在破解当中,大家可以通过链接下载进行反编译算法破解apk安装包。有结果麻烦360论坛儿童手表板块回答一下。
http://p0.ssl.qhmsg.com/dr/218_262_70/t01ce7fc89a2c0fe2c6.png
1.“设置”界面提取安装包
下载链接:https://pan.baidu.com/s/18sdlytByDMwLHUBM3veLjA
密码:1234
2.ROM包下载
下载链接:http://dl.360safe.com/babydat/up ... 06240_W920_USER.zip
3.破解应用软件可上网自行查找,像那种能打开APK或odex/dex文件的反编译软件都行。
4
这两幅图片为应用截图


我提取出来了一部分Java代码,希望有人能将其解密出来
private String generateKey() {
    String[] sort;
    WolfPlatformManager instance = WolfPlatformManager.getInstance(this.mContext);
    String deviceKey = instance.getDeviceKey();
    String deviceId = instance.getDeviceId();
    String encode = MD5Utils.encode(instance.getHardCode());
    if (TextUtils.isEmpty(deviceKey)) {
      sort = StrUtil.sort(new String[]{instance.getIMEI(), instance.getQRCode(), encode});
    } else {
      sort = StrUtil.sort(new String[]{deviceKey, deviceId, encode});
    }
    return MD5Utils.encode(StrUtil.dumpStringArray(sort));
}
private String getCode(String str) {
    str = AESUtils.encryptAESBase64(generateKey(), iv, str);
    int length = str.length() / 6;
    StringBuilder stringBuilder = new StringBuilder();
    for (int i = 0; i < 6; i++) {
      stringBuilder.append(str.charAt(i * length) % 10);
    }
    return stringBuilder.toString();
}
public boolean openDevelopMode(String str) {
    if (TextUtils.isEmpty(this.mDevelopCode)) {
      this.mDevelopCode = getDevelopModeCode();
    }
    boolean equals = this.mDevelopCode.equals(str);
    Global.putInt(this.mContext.getContentResolver(), TYPE_DEVELOPER_MODE, equals);
    return equals;
}
public boolean openFactoryMode(String str) {
    if (TextUtils.isEmpty(this.mFactoryCode)) {
      this.mFactoryCode = getFactoryModeCode();
    }
    boolean equals = this.mFactoryCode.equals(str);
    Global.putInt(this.mContext.getContentResolver(), TYPE_FACTORY_MODE, equals);
    return equals;
}
public DevelopModeHelper(Context context) {
    this.mContext = context;
}
public static void hideDevelopMode(Context context) {
    Global.putInt(context.getContentResolver(), TYPE_DEVELOPER_MODE, 0);
}
public static void hideFactoryMode(Context context) {
    Global.putInt(context.getContentResolver(), TYPE_FACTORY_MODE, 0);
}
public static boolean isDevelopModeOpen(Context context) {
    return 1 == Global.getInt(context.getContentResolver(), TYPE_DEVELOPER_MODE, 0);
}
public static boolean isFactoryModeOpen(Context context) {
    return 1 == Global.getInt(context.getContentResolver(), TYPE_FACTORY_MODE, 0);
}
public String getDevelopModeCode() {
    return getCode(TYPE_DEVELOPER_MODE);
}
public String getFactoryModeCode() {
    return getCode(TYPE_FACTORY_MODE);
}

f163488671 发表于 2021-9-20 13:00

本帖最后由 f163488671 于 2021-9-20 13:06 编辑

首先,感谢您对360儿童手表的支持!
但不建议用户进入调试模式,如果因操作不当造成的系统问题将无法享受质保服务

360fans_isDRQG 发表于 2021-9-20 13:44

进来看看&lt;div&gt;&lt;span style=&quot;font-size: 14.672px;&quot;&gt;https://ask.csdn.net/questions/7506322?answer=53512803&lt;/span&gt;&lt;br&gt;&lt;/div&gt;

360fans_wap2956589277 发表于 2021-11-21 18:21

大神,p1pro的密码破译出来了吗,麻烦告诉一下呗

360fans_uid51888392 发表于 2022-9-3 12:12

所以360电话手表s1的调试密码是多少啊

360fans_uid34460938 发表于 2022-9-15 12:41

大佬,请问怎么打开360儿童手表的adb啊,我的手表开调试模式没有密码,可以直接进去但是不知道怎么打开adb

360fans_uid48242554 发表于 2023-1-3 09:50

我搞到root了!详细步骤&lt;div&gt;https://m.bbs.360.cn/detail.html?id=16074966&lt;/div&gt;

360fans_uid42070035 发表于 2023-1-11 23:07

还是不要多说什么了,
了解360电话手表先看下这个吧
https://gxgpaizi.sinaapp.com/360_2.html

360fans_5YgT57 发表于 2023-2-4 20:28

能不能短接烧录

360fans_039UQ7 发表于 2023-4-13 19:07

我读了这段代码,这个密码不是固定的,是通过设备信息生成的,如果想知道密码,需要获取密钥、设备ID和硬编码。如果设备密钥为空,则对IMEI、QR码和硬编码进行排序。否则,对设备密钥、设备ID和硬编码进行排序。然后返回排序后的字符串数组的MD5哈希值。

360fans2527247113 发表于 2023-6-10 16:21

这段代码是一个名为"DevelopModeHelper"的Java类,它包含一些用于开发者模式和工厂模式的功能。下面是对每个方法的分析:1. `generateKey()`: 这个私有方法生成一个密钥字符串。它使用了一个名为`WolfPlatformManager`的单例对象来获取设备的一些信息,并对这些信息进行处理和排序。最后,通过MD5加密算法对排序后的字符串进行加密,并返回加密后的结果。2. `getCode(String str)`: 这个方法接受一个字符串作为参数,并使用`generateKey()`方法生成一个密钥。然后,使用AES加密算法将传入的字符串进行加密,并返回一个长度为6的数字字符串。具体操作是将加密后的字符串分成六个部分,并取每部分的第一个字符转换为数字,拼接成一个新的字符串并返回。3. `openDevelopMode(String str)`: 这个方法用于打开开发者模式。它接受一个字符串作为参数,将该字符串与内部存储的开发者模式代码进行比较。如果相等,则将开发者模式状态设置为开启(即将开发者模式状态保存到设备的内容提供者中)并返回`true`,否则返回`false`。4. `openFactoryMode(String str)`: 这个方法用于打开工厂模式,与`openDevelopMode()`方法类似。它接受一个字符串作为参数,将该字符串与内部存储的工厂模式代码进行比较。如果相等,则将工厂模式状态设置为开启并返回`true`,否则返回`false`。5. `DevelopModeHelper(Context context)`: 这是构造函数,接受一个`Context`对象作为参数,并将其保存在类的成员变量`mContext`中。6. `hideDevelopMode(Context context)`: 这个静态方法用于隐藏开发者模式。它接受一个`Context`对象作为参数,并将开发者模式状态设置为关闭(将对应标志位设置为0)。7. `hideFactoryMode(Context context)`: 这个静态方法用于隐藏工厂模式,与`hideDevelopMode()`方法类似。8. `isDevelopModeOpen(Context context)`: 这个静态方法用于检查开发者模式是否开启。它接受一个`Context`对象作为参数,并从设备的内容提供者中获取开发者模式的状态值。如果状态值为1,则返回`true`,否则返回`false`。9. `isFactoryModeOpen(Context context)`: 这个静态方法用于检查工厂模式是否开启,与`isDevelopModeOpen()`方法类似。10. `getDevelopModeCode()`: 这个方法返回开发者模式的代码。它调用了`getCode()`方法,并传入一个表示开发者模式的标志值作为参数。11. `getFactoryModeCode()`: 这个方法返回工厂模式

360fans755943211 发表于 2023-7-23 08:16

3带,怎么手表链接电脑用什么软件?
页: [1]
查看完整版本: 360儿童手表如何进入调试模式?