前言♪
本文所有内容均来源于PenMods社区(包括github,tg群等)以及posc社区的公开内容
本文整合了目前所知的有道词典笔修改方案,可能并非完全,但如果你想要玩词典笔,真的非常非常不建议选择有道
1.非安卓系统,而是定制Linux,且存在大量魔改与奄割情况,词典笔OS的adb密码较难破解
2.最新的词典笔OS似乎存在系统文件只读的情况
3.目前几乎没有第三方miniapp可供使用
4.(整合动态):
強行修改adb密码可能会出现userdisk不可读写的状态,具体表现为下图(由于userdisk不可读写,导致miniapp全炸):

4.1有消息称有道将把更新请求从http换成https,一旦被更换,将无法使用欺骗更新的方法修改adb密码
第三方适配状态
| 型号 | 是否有第三方插件 | 插件列表 |
| YDP02x(二代) | 有 | PenMods Player(视频播放器),Fliemanager |
| YDP03x(三代) | 旧系统无 | 无,且词典笔OS无法通过常规方式更改ADB密码 |
| 后续词典笔OS机型 | 有,但极少 | Langing Chen的miniapp,posc社区,笔上哔哩(new) |
1.YDP02X(二代笔)
请先确保版本号≥2.00,若版本号低于2,请按照大佬的教程进行刷机
01.安装PenMods
PenMods目前已由社区大佬维护,安装方法与PenMods1.3preview相同,您可前往PenMods tg群组获取PenMods,或者使用博主搬运的版本
注:博主提供的版本可能已经过时
安装方法可见:https://baigei.cc/index.php/archives/105/
1.1:安装更多插件
Penmods社区有更多Penmods插件,以下为其中的一部分
1.1.1:视频插放器(video player)
此播放器包括文文件管理器和播放器本体,如有更新,把新的videoplayer替换掉userdisk中原来的即可
更多插件可加penmods电报群寻找
1.1.2:注:视频播放器中的文件管理也可用于查看图片,打开一些程序等
YDP03X
2.1旧系统(版本<3)
对于旧系统,密码有两个:
After 2.0.0: CherryYoudao
After 2.7.0: x3sbrY1d2@dictpen
对于三代的旧系统,目前似乎没人愿意开发一些工具,因此,旧系统似乎并没有什么可玩点,可玩的有:修改AI好题本的本地数据库来播放自己的视频,修改图标,进入终端,当作简单服务器等
以下是一些折腾的方法
1.修改图标:
连接adb,拉取图标文件夹:
>adb pull /oem/YoudaoDictPen/output/images/
拉取的文件夹名为images,位于你adb命令行文件所处的文件夹
修改图标,记得把修改后的图标命名为与原图标相同的文件名,完成之后再push回你的设备
>adb push 你要替换图标的文件路径 词典笔对应的图标的文件路径
注意:图标尺寸必须对应原图标尺寸
修改后的图标尺寸应与原图标尺寸一致
播放视频
已有大佬研究,本文不再说明
原帖:github
打开终端
在词典笔上打开一个终端,由penmods社区大佬提供
原帖:github
下载此文件:https://github.com/user-attachments/files/22975649/weston.zip
解压到你词典笔/userdisk/Music/文件夹中
adb push 下载到电脑上的压缩包路径 /userdisk/Music/
adb shell
cd /userdisk/Music
unzip 上传的压缩包.zip
chmod +x ./S50launcherMine
./S50launcherMine start
词典笔OS系列
2.1破解ADB
词典笔OS的密码已被替换为md5/sha加密,因此无法通过先前的解包等方式得到密码,只能通过修改刷机包等方式修改密码,以下是几种方法
2.1.1:通过HTTP欺骗服务器
此操作需要一台可开热点的电脑
直至目前,有道仍在使用http协议的更新渠道,因此可通过修改更新包并搭建http欺骗服务器使词典笔「更新」到被修改的系统
您可使用大佬的paper工具一键修改,替换并搭建欺骗服务器
(编译好的可运行的二进制文件在项目的github action中)
!若出现问题(包括但不限于更新卡进度,升级失败等),您可手动修改更新包并搭建更新服务器
2.1.2手动更改更新包并搭建更新服务器
*内容来源于-听秋念,本文进行了部分修改/补充
1.抓取系统全量包
使用词典笔连接电脑热点,启用wireshark对热点所在连接进行抓包,词典笔检查更新,在wireshark中找到如图post请求,抓到后可以停止抓包(图片来自LittleSadSheep)

重新发送更新请求,获取全量包链接
使用sojson或其他http请求网站,将Header设置为application/json;charset=UTF-8,将你在WireShark获得的数据填入,发送如下请求:
{
"timestamp": "这里填你WireShark获得的timestamp",
"sign": "这里填你WireShark获得的sign",
"mid": "这里填你WireShark获得的mid",
"productId": "这里填你WireShark获得的productID",
"version": "99.99.90",
"networkType": "WIFI"
}
请求完毕我们会获得一个包含完整包链接的json
其中的bakUrl 或deltaUrl 即为下载链接
下载全量包,并使用RKdevtools解包,解好的包位于rkdevtools同目录下Output文件夹中
进入Android文件夹并分解rootfs分区,最终在/usr/bin下找到adbd_auth.sh 打开它
找到其中的md5/sha256值 记录下来备用
if [ "$(echo $PASSWD | md5sum)" 这行中
有的笔采用sha256,值位于文件最尾行
使用winhex替换md5/sha256值
打开winhex并打开你的完整包img,开启搜索,搜索前面记录的md5/sha256值。

第一种方法:正常把密码转为md5/sha256,以后输入密码的时候这样输入: -n(password)
第二种方法:我们需要想办法在自己的密码转为md5前也加上换行符。请使用一些工具(如AI)帮助你把密码转换为sha256/md5
把带换行符一起转换的md5用来替换原img中的md5 然后保存文件
搭建更新服务器
所用到的文件:getnewmd5.zip(所有文件都在里面)(openlist)
首先自行安装nodejs 然后编辑YDPen.js,将"JsonData"的内容全部替换为前面抓包抓到的内容,然后手动修改'segmentMd5'中每一个分块的md5值为前面计算得到的md5值,并修改bakUrl和deltaUrl为"http://{本机局域网ip}:14514/你修改的完整包.img",随后修改'md5sum'为前面计算的完整img的md5,sha修改为计算的sha256值 下拉到js下方部分,修改'/product/1717746496/*********/ota/checkVersion'为你自己抓到的请求url,保存文件。


开启两个cmd,一个执行'python httpserver.py {img路径}',另一个执行'node YDPen.js',同时修改一下host,把'iotapi.abupdate.com'劫持到本机ip,并执行ipconfig /flushdns来刷新dns

在词典笔连接电脑热点的情况下检查更新,会检测到一个很大的更新包,直接更新即可
安装miniapp
开发文档:http://docs.posc.net
开启miniapp_cli(大部分词典笔默认开启,可跳过此步
需要在cfg.json里打开debugger属性(默认路径为resources/cfg.json)开启miniapp_cli需要在cfg.json里打开debugger属性(默认路径为resources/cfg.json)
"debugger": {
"enable": true
},
使用adb把miniapp安装包push到词典笔上,使用命令安装miniapp
>adb shell auth
>adb push 电脑上miniapp路径 词典笔任易路径
>adb shell
//amrPath amr应用在设备(词典笔)上所在的路径(文件push到的路径)
>miniapp_cli install {amrPath}
以下是现存的miniapp
词典笔工具箱https://github.com/penosext/miniapp
计算器https://github.com/adogecheems/doge-calculater
笔上哔哩
【[有道x7] 笔上哔哩 开发日记 v1.0-哔哩哔哩】 https://b23.tv/1MCsIZS

Comments NOTHING