Enco free2 固件降级详解

# OPPO Enco free2 降级详解


这两天测试了一下降级工具,根据大家的反馈,主要问题还是在配置代理时不确定是不是在同一局域网,不知道 IP 地址是哪个。于是我升级了一下降级工具,打开后立即输出本机 IP 地址,并且测试了一些常见文件,同时给出解决方法,详细内容请仔细查阅下文:

- 以下欢律统一为我提供的版本 1.0.63 ,降级工具为 20220506 最新版
- 降级工具分为两个版本:20220506enco_free2_firmware_tool.exe(同时支持网络下载固件和读取本地固件降级)、20220506enco_free2_firmware_tool.dist_network_only.exe(仅支持网络下载固件,或许对电脑操作系统的依赖更低)
- 刷机操作前请谨慎考虑,有变砖的概率,后果自行负责
- 确保手机和电脑在同一局域网内(连接同一个 WiFi 或者热点,无所谓是否能上网)
- 请关闭Windows Defender
- 操作全程请关闭移动数据网络
- oppo、realme、oneplus  手机可能需要卸载  无线耳机 这个自带 app
- 如遇升级失败,可以直接重试

# 手机代理配置

1. 打开手机 WiFi 配置,打开代理
    
 
    
2. 设置代理为手动模式
    
    
    
3. 降级工具输出电脑 IP 信息,根据手机 IP 地址信息,我应该在手机代理的主机处填写 10.0.0.119
    
    
    
4. 主机名填入电脑IP地址,端口一定要写 8090。这个页面中的 IP 地址 是手机 IP 地址,可以结合工具的输出信息确定电脑的 IP 地址,如果工具输出的没有类似 10.0.0.X (以截图为例)的地址,那么电脑和手机不在同一局域网内,请更换网络环境。如果降级工具的 IP 地址有 10.0.0.X ,那么这个地址就是电脑的 IP 地址,请在  主机名 中填入这个地址,至此代理配置结束。
    
    
5. 降级完成后请将代理改成  无 否则 WiFi 无法上网。

 

 

 

 

## Q:多次降级时只有第一次成功,后面无论怎么操作,都会在进度2%之后马上开始安装

A:经过测试,多次刷机的情况下,会有很大概率遇到这个情况,猜测是欢律这个软件的影响。解决办法如下:

1. 清除欢律的应用数据,卸载重装也可以。(多数情况下清除数据后,重新添加耳机就可以正常刷机了)
2. 设置-蓝牙,取消耳机配对
3. 重新打开欢律添加耳机,添加完成后关闭欢律
4. 开启降级工具,选择想要刷写的版本
5. 打开欢律,即可获取到更新提醒(主界面版本号随机,请进入详情查看具体版本号和版本信息,本地降级时无信息)。
6. 如果情况依旧,请在开盖状态下长按配对键重置耳机后从第一步开始。

## Q:无法刷到降级,也没有网络log

A:确保手机和电脑在同一局域网中,并且代理配置正确,新版工具开始运行时会显示本机 ip 地址,但是由于虚拟机或是 WSL 等原因,可能会有多个 ip 地址,需要大家自行分辨应该使用哪一个,简单的办法就是打开手机设置,在 WiFi 配置界面能看到当前连接的 WiFi 地址。例如 10.0.0.X  工具输出和手机地址的最后一位不同,前面的 10.0.0  都是相同的,借此可以判断需要使用的地址。代理端口是 8090.

## Q:工具运行提示缺少 xxx.dll 文件

A:新版工具在 Win10 、Win11 64位 系统下测试,没有问题,我的编译环境如此。请尽量依照我的标准。(最新版已经更换了打包工具,提供了两个版本,不知道是否支持其它版本的系统,需要各位自行尝试。)

## Q:新版工具运行闪退?

A:前段时间家里网络环境有点复杂,DDNS 没做好,所以会闪退,目前应该已经修复了这个问题。

## Q:具体拿个固件更好?

A:个人认为因人而异,自从139固件发布以来,我用了大半年的139,感觉也还行,所以适合的才是好的,大家可以自行测试,最新版工具应该是可以随意刷机到任意版本。

## Q:定制版能不能刷?

A:不行,因为我没有设备测试。

## Q:单只耳机能不能刷?

A:经过测试,单只耳机暂时无法刷机。可能需要反编译apk,修改更新检测逻辑,目前没有突破。

## Q:降级工具是否支持其它系统?

A:欢律仅支持 Android ,降级工具仅支持 Windows,Win10 、Win11 64位环境下运行良好。

软件运行截图:


降级界面截图

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
ENCO命令是一个用于编码和解码文件的常用命令,下面是用C语言实现ENCO命令的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // ENCO命令编码函数 void encode(char *input_file, char *output_file) { FILE *fp_in, *fp_out; char ch, prev_ch = 0; int count = 0; // 打开输入文件 fp_in = fopen(input_file, "rb"); if (fp_in == NULL) { printf("无法打开输入文件 %s!\n", input_file); exit(1); } // 打开输出文件 fp_out = fopen(output_file, "wb"); if (fp_out == NULL) { printf("无法打开输出文件 %s!\n", output_file); exit(1); } // 读取输入文件并编码 while ((ch = fgetc(fp_in)) != EOF) { if (ch == prev_ch) { // 如果当前字符与前一个字符相同 count++; // 计数器加1 } else { // 如果当前字符与前一个字符不同 if (count > 0) { // 如果前面有重复字符 fputc(count + 128, fp_out); // 输出计数器值 fputc(prev_ch, fp_out); // 输出重复字符 } else { // 如果前面没有重复字符 fputc(prev_ch, fp_out); // 直接输出当前字符 } prev_ch = ch; // 更新前一个字符为当前字符 count = 0; // 重置计数器 } } // 处理最后一个字符 if (count > 0) { // 如果最后一个字符是重复的 fputc(count + 128, fp_out); // 输出计数器值 fputc(prev_ch, fp_out); // 输出重复字符 } else { // 如果最后一个字符不是重复的 fputc(prev_ch, fp_out); // 直接输出最后一个字符 } // 关闭文件 fclose(fp_in); fclose(fp_out); } // ENCO命令解码函数 void decode(char *input_file, char *output_file) { FILE *fp_in, *fp_out; char ch, prev_ch = 0; int count = 0; // 打开输入文件 fp_in = fopen(input_file, "rb"); if (fp_in == NULL) { printf("无法打开输入文件 %s!\n", input_file); exit(1); } // 打开输出文件 fp_out = fopen(output_file, "wb"); if (fp_out == NULL) { printf("无法打开输出文件 %s!\n", output_file); exit(1); } // 读取输入文件并解码 while ((ch = fgetc(fp_in)) != EOF) { if (ch >= 128) { // 如果当前字符表示计数器值 count = ch - 128; // 计数器值为当前字符减去128 ch = fgetc(fp_in); // 读取下一个字符作为重复字符 for (int i = 0; i < count; i++) { fputc(ch, fp_out); // 输出重复字符 } } else { // 如果当前字符不是计数器值 fputc(ch, fp_out); // 直接输出当前字符 } } // 关闭文件 fclose(fp_in); fclose(fp_out); } int main(int argc, char *argv[]) { if (argc != 4) { printf("用法:ENCO [-e/-d] input_file output_file\n"); return 1; } if (strcmp(argv[1], "-e") == 0) { encode(argv[2], argv[3]); printf("编码完成!\n"); } else if (strcmp(argv[1], "-d") == 0) { decode(argv[2], argv[3]); printf("解码完成!\n"); } else { printf("无效的选项 %s!\n", argv[1]); return 1; } return 0; } ``` 该示例代码实现了ENCO命令的编码和解码功能,通过命令行参数指定输入文件和输出文件,使用`-e`选项进行编码,使用`-d`选项进行解码。在编码过程中,重复的字符会被计数并输出计数器值和重复字符,未重复的字符直接输出。在解码过程中,读取到计数器值时会输出多个重复字符,读取到非计数器值时直接输出当前字符。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值