首页
社区
课程
招聘
[分享][原创]有道词典的自定义
发表于: 2020-2-25 10:28 8273

[分享][原创]有道词典的自定义

2020-2-25 10:28
8273

之前写在52pojie上了,结果整改给删除了,今天发现后台还能看到,放到这边做个笔记。

procexp.exe中看到主要有5个进程:
YoudaoDict.exe.
+---YoudaoDictHelper.exe
+---YoudaoEH.exe
+---YoudaoWSH.exe
+---YoudaoDictHelper.exe
并不太清楚它们的分工,不过从结构看YoudaoDict.exe.应该是主功能进程,所以先从它开始分析。

找到YoudaoDict.exe文件,进行IDA载入,等待代码分析结果。
从反编译识别的函数信息可以看到比较多的CEF前缀信息,先找一下相关信息:
1, 相关的github工程:f80K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6C8j5i4u0D9L8r3g2F1i4K6u0r3j5$3g2X3x3#2)9J5k6r3c8#2K9h3I4A6j5W2)9J5k6q4W2p5c8r3g2E0L8H3`.`.
2, 相关的介绍:CEF(Chromium Embedded Framework)是在C++客户端里面嵌入webkit。
代码仓库:f40K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1K9i4c8T1N6h3y4C8k6i4c8Q4x3X3g2G2M7X3N6Q4x3V1k6U0K9s2u0G2L8h3W2#2L8h3g2E0j5X3g2V1k6r3g2V1i4K6u0r3j5$3g2X3
大体知道词典使用的是什么框架进行开发了,从上面的框架信息,初步判断是使用C++ 和 JS开发框架,如果业务逻辑使用JS实现,应该就不需要逆向分析YoudaoDict.exe文件了。
所以接下来去查看安装目录信息。

从目录中查找到一些关键的目录文件信息,结构如下:
+---8.5.1.0
+---skins
+---strings.xml # 控件名和中文对应定义。
+---main_layout.xml # 定义主界面控件和布局。
+---main_wnd_layout.xml
+---mini_wnd_layout.xml
+---pop_wnd_layout.xml
+---resultui
+---js
+---manifest.js
+…
这样基本验证了上面的猜测,业务逻辑都是在JS和XML中定义,其中string.xml定义了控件名和中文映射。XXX_layout.xml文件定义了界面布局信息,其中main_layout.xml是主界面的布局定义。
所以基本可以考虑通过编辑main_layout.xml来裁剪界面上的功能(即可以达到去广告的目的)。

有几个功能觉得在本地不需要,所以考虑进行裁剪:
1, 人工翻译
2, 同传
3, 精品课
4, 广告
在string.xml中通过对应中文找到控件名,再进行删除就OK了,其中广告的清除有点麻烦,可以通过Adv关键字进行清除,测试下来OK!具体结果见附件XML文件,进行替换文件后,重启词典可验证。
效果图:
图片描述

已经去广告已经是明显告诉有技术水平的同学,可以看XML和JS来修改词典的行为了,获取VIP也并不复杂,对文件进行字符查找“vip”,找到有关的文件lexicon.min.js,


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-2-25 11:16 被nevinhappy编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (5)
雪    币: 399
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错的分享,感谢,虽然不用这个软件
2020-2-25 10:54
0
雪    币: 1790
活跃值: (4550)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2020-2-26 13:17
0
雪    币: 8715
活跃值: (5047)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
4
感谢分享,学习了。
2020-4-6 02:33
0
雪    币: 4
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
请教下按楼主方法修改后,只能使用本地词典,无法再使用网络查词,没语音了,我OD了一下,程序中 app.js dict.min.js 这两个文件有MD5自校验,里面加个空格都不能用了,改了半天都没成功,求楼主再指点下
2021-1-8 18:46
0
雪    币: 1732
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个js代码是怎么调接口的啊
2022-4-19 10:30
0
游客
登录 | 注册 方可回帖
返回