YDpen的adb密码修改
前言
有道的词典笔都不是安卓系统,而是基于Linux的词典笔OS。故即使开启有道词典笔的ADB依然无法实现安装APK等功能,仅限折腾着玩玩罢了。
⚠️ 操作有风险,玩机需谨慎
因任何操作造成的包括但不限于变砖、炸App等损失作者均不承担任何责任,也没有义务帮你修复。如有侵权联系删除。
自动替换密码
来自langningchen大佬的paper,实现全自动替换密码。
『来自123云盘用户的分享』paper.exe
链接:https://www.123865.com/s/ipZ4jv-tQ7WA?pwd=mywy#
基础知识
有道词典笔一直都带有ADB开启入口,只需多次点击”法律监管”中的文本即可打开。
破解方案
本文采用大佬SkySight-666的方案加以改进,靠中间人攻击劫持更新请求从而替换更新包。
参考链接:
- https://github.com/orgs/PenUniverse/discussions/250
- https://github.com/orgs/PenUniverse/discussions/277
本文用到的全部工具:
https://www.123684.com/s/sE1hjv-mklwd 提取码:0m8B
详细步骤
首先,通过抓包抓取系统全量包
使用词典笔连接电脑热点,启用wireshark对热点所在连接进行抓包,词典笔检查更新,在wireshark中找到post请求,抓到后可以停止抓包。

重新发送更新请求,获取全量包链接
找一个HTTP测试网站,这里我用的是SOJSON,将Header设置为,将你在获得的数据填入,发送如下请求:
请将以下JSON数据用于HTTP请求:
1 | json |

请求完毕我们会获得一个包含完整包链接的json
1 | ```json |
应该类似于以上这个文本 通过bakUrl或deltaUrl链接下载文件
使用winhex替换md5值
1 | 打开winhex并打开你的完整包img,开启搜索,搜索 |
1 | echo $PASSWD | md5sum |

1 | 千万注意,这里有一个网易挖的坑!!这边代码用的echo会在你输入密码之后加一个换行符 导致密码md5改变 最终校验失败这也是大部分升级成功却依旧密码错误的原因之一!因此我们需要想办法在自己的密码转为md5前也加上换行符。 |
注意:此时文件大小未发生改变 大小一个字节也没变!
计算修改后的文件校验码
编辑getnewmd5.py,使得segment_sizes数组中的值为前面抓包抓到的每一个endpos的值,有多少就加多少,
每个机器值可能是不一样多的,然后在cmd中执行’python getnewmd5.py {修改后的img路径}’,并紧跟着执行’certutil -hashfile {修改后的img路径} md5’,
随后我们会获得分片md5和整体md5
还需要计算一个img的sha256值 得到修改后的img的sha256值 留存备用
搭建更新服务器
首先自行安装nodejs 然后编辑YDPen.js,将”JsonData”的内容全部替换为前面抓包抓到的内容,然后手动修改’segmentMd5’中每一个分块的md5值为前面计算得到的md5值,并修改bakUrl和deltaUrl为”http://{本机局域网ip}:14514/你修改的完整包.img”,随后修改’md5sum’为前面计算的完整img的md5,sha修改为计算的sha256值
下拉到js下方部分,修改’/product/1717746496/*********/ota/checkVersion’为你自己抓到的请求url,保存文件。

更新自定义固件
在词典笔连接电脑热点的情况下检查更新,会检测到一个很大的更新包,直接更新即可
**获得adb权限,美美折腾
更新完毕后,待设备重启,再次去法律监管里面连击打开adb,此时连接电脑执行adb shell auth并输入前面转换为md5的密码明文,回车,见证奇迹
**教程结束
本文转载于bilibili听秋念大佬的文章https://www.bilibili.com/opus/1041644000127221764?spm_id_from=333.1387.0.0
本文只是加以改进
**结束!