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:06 编辑
首先,感谢您对360儿童手表的支持!
但不建议用户进入调试模式,如果因操作不当造成的系统问题将无法享受质保服务 进来看看<div><span style="font-size: 14.672px;">https://ask.csdn.net/questions/7506322?answer=53512803</span><br></div> 大神,p1pro的密码破译出来了吗,麻烦告诉一下呗 所以360电话手表s1的调试密码是多少啊 大佬,请问怎么打开360儿童手表的adb啊,我的手表开调试模式没有密码,可以直接进去但是不知道怎么打开adb 我搞到root了!详细步骤<div>https://m.bbs.360.cn/detail.html?id=16074966</div> 还是不要多说什么了,
了解360电话手表先看下这个吧
https://gxgpaizi.sinaapp.com/360_2.html 能不能短接烧录 我读了这段代码,这个密码不是固定的,是通过设备信息生成的,如果想知道密码,需要获取密钥、设备ID和硬编码。如果设备密钥为空,则对IMEI、QR码和硬编码进行排序。否则,对设备密钥、设备ID和硬编码进行排序。然后返回排序后的字符串数组的MD5哈希值。 这段代码是一个名为"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()`: 这个方法返回工厂模式 3带,怎么手表链接电脑用什么软件?
页:
[1]