https://github.com/h4x3rotab/Sogou-User-Dict-Converter
搜狗从某个版本开始导出的用户词库全部被加密,给迁移到其他输入法造成很大障碍。于是我做了这个工具,可以把导出的 bin 文件转换为词频 TSV 文件,然后就随便怎么玩了。
用法:
python3 parse.py <输入 bin 文件> <输出 tsv 文件>
代码发布在 GPLv3 协议之下。
1
littleMaple 2018-10-07 21:22:59 +08:00
好奇解密原理是什么?搜狗公布了加密算法?
|
2
a1058021348 2018-10-07 22:17:53 +08:00 via iPhone 1
幸亏我一直留着那个词库文件😂
|
3
ax521 2018-10-07 22:36:02 +08:00 via Android
明天试试。用法能不能说清楚点,看不懂
|
4
h4x3rotab OP 逆向分析
|
6
h4x3rotab OP |
9
gaupen1186 2018-10-08 00:20:06 +08:00 via Android
灰常感谢哈,正需要呢
|
10
mztql 2018-10-08 00:26:08 +08:00
好用感谢,8M 转换完是 1.3M ,有一部分输出日志显示'GetData overflow',是没解完全吗
|
11
nicoljiang 2018-10-08 12:50:16 +08:00
好东西,支持一下。
|
12
ax521 2018-10-08 16:19:54 +08:00
我 15 兆的词库,转化出来才 26k。打开看显示只转化了近期的一部分词,楼主转化出来全部转化了吗?
|
13
ax521 2018-10-08 16:29:34 +08:00
![报错.jpg]( https://i.loli.net/2018/10/08/5bbb14815a486.jpg)
报错这个,你看看怎么了? |
17
NotNil1 2018-10-10 14:56:37 +08:00
搜狗会保存我输入的数据吗?
|
20
AuroraN 2018-10-16 15:23:37 +08:00
报错,报销信息如下:
hashstore [ offset: 2554880, count: 0 ] Traceback (most recent call last): File "/Users/Aurora/Source/Python/Algorithm/sougoUserDictConvert.py", line 432, in <module> word = DecryptWordsEx(word_base, word_info.p1, usr_header.p2, usr_header.p3) File "/Users/Aurora/Source/Python/Algorithm/sougoUserDictConvert.py", line 262, in DecryptWordsEx dec_lstr.string = decwords.decode('utf-16') UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 4-5: unexpected end of data |
21
motivation 2018-11-07 15:02:40 +08:00
可以告知一下如何使用嘛,我是纯小白,现在已经装好了 python3 和下载好了 GITHUB 上的文件,搜狗的.bin 文件也导出完成了,那么接下来需要做什么呢。
谢谢! |
22
h4x3rotab OP @motivation 算法已经被整合到了一个对新手更有好的工具里: https://github.com/studyzy/imewlconverter
|