解决群晖File Station文件列表中文拼音排序问题

2023-04-18 18:51:57 12点赞 103收藏 28评论

方法来自:https://blog.icedream.xyz/2020/01/01/破解群晖file-station中文未按拼音排序问题/

本文只分享处理的过程,其中用到的工具请自行查找下载。操作过程中有不对的地方,请指正。

以下截图均为本人操作过程截取,涉及的操作语句来源于网络。

--------------更新几点--2023-4-20------

1、修改前记得好做好备份、备份、备份,文件名不要修改。可以添加到压缩包,保存好。

2、修补后文件排序是按符号、数字、中文拼音、英文字母这样子排的。

3、听说升级是会失效的。如果升级涉及到这个文件,肯定会被覆盖掉的,但具体什么版本会被覆盖要后续观察才知道,反正掌握了方法,随时可以改 。

------------------------------------------

前言

用群晖好几年了,一直是用来存放电影跟资料,也没怎么去折腾。但是用File Station或者手机上用DS File查看文件时,文件名的中文排序问题一直让我很迷惑,搞不懂是按什么标准排序的。据网友咨询客服答复说:

非常抱歉,目前我们中文是按照ASCII进行排序的。

一开始文件不多,影响还不是很大,随着文件的增多,查询文件变得很麻烦。最近偶然看到有大佬通过反编译群晖的某个文件,实现了中文文件名按拼音排序的问题,但其中只写了关键部分,对此我这种汇编小白根本就看不懂,折腾了一天,总算研究明白了其中的大概原理,就想着写出来跟大家分享一下,包括其中用到的工具,如何操作、计算等等,每一步都写清楚,让有兴趣的朋友们都可以尝试一下。写的有点啰嗦,请轻喷。

过程中用到的软件有:PuTTY、WinSCP、IDA Pro、WinHex(这个非必要)

解决群晖File Station文件列表中文拼音排序问题

我的群晖系统版本是DSM 7.1.1-42962 Update 3,涉及修改文件为

/usr/lib/libsynocore.so.7

如果是DSM 6.XX的系统(方法相同,但具体修改的代码有一点差异),涉及修改文件为

/usr/lib/libsynocore.so.6

正片,不对,正文开始。

1、群晖开启SSH功能

开启 SSH 会大大增加 NAS 的安全风险,最好开启自动封锁并添加白名单 IP 确保安全。文件修改完成后,最好关闭SSH功能。

进入控制面板,点击终端机和SNMP图标。勾选启用 SSH功能,端口号按默认22即可,应用。

解决群晖File Station文件列表中文拼音排序问题

2、SSH 远程连接

在 Windows 系统中,可以通过第三方工具比如 PuTTY来进行连接。

Windows 10 提供 ssh 命令,可以进行 ssh 连接。

我用的是PuTTY工具。

解决群晖File Station文件列表中文拼音排序问题

运行 putty.exe,在程序界面内输入服务器 IP 地址和端口(22 是 SSH 默认端口),选中 SSH 连接类型,可设置连接会话名称及点击保存,然后点击 Open 按钮开始连接登录。

首次连接会提示安全警告,如果出现安全警告,点“是”或者“否”都行;如果没有出现安全警告,则继续下一步。

之后输入用户名和密码即可登录服务器(输入密码时不会显示输入状态,这是一个安全设计。鼠标单击右键可以粘贴输入。可以先在别的地方复制,再到这里单击右键实现粘贴功能)。

解决群晖File Station文件列表中文拼音排序问题

这里的用户名需要输入管理员的用户名,默认输入群晖的管理员admin。建议用户修改完成后新建一个管理员用户后禁用admin账户,以免群晖暴漏在网络中被人破解,此处仅供演示。

3、设置root用户密码

输入正确的用户名跟密码之后,就跟群晖连接上了。现在就可以通过语句查询或者导出要修改的文件了,但是没有root权限的话,只能导出,修改后没法导入,所以要先设置root密码。而且PuTTY的界面跟DOS一样,没有图形界面,操作不方便,所以我们设置完root密码之后,再用另一个软件WinSCP来导出导入文件。具体步骤如下:

3.1、输入 sudo –i 按回车(sudo后面有一个空格),切换到临时root,输入admin的密码;

解决群晖File Station文件列表中文拼音排序问题

3.2、输入(这段语句没法保存,请看图), 按回车(vim后面有一个空格),打开配置文件。

解决群晖File Station文件列表中文拼音排序问题

因为我异常退出过,存在swap交换文件,直接按字母E,(E)ditanyway;

解决群晖File Station文件列表中文拼音排序问题

3.3、按一下电脑键盘上的i键或者Insert键,屏幕左下角出现“——Insert——”字样,进入可编辑状态;

解决群晖File Station文件列表中文拼音排序问题

3.4、按键盘的上下键翻动,找到#PermitRootLogin prohibit password这一行,改为PermitRootLogin yes(前面的#号记得要去掉);

解决群晖File Station文件列表中文拼音排序问题

3.5、按一次键盘的ESC键,然后输入 :wq 按回车(冒号加上字母WQ,直接输入即可,会自动跳到最末尾),退出编辑状态;

解决群晖File Station文件列表中文拼音排序问题

3.6、然后输入 reboot 按回车,重启群晖;

3.7、等待群晖重启完成后,用PuTTY重新登录进来,输入用户名admin和密码;

3.8、输入 sudo -i 按回车(sudo后面有一个空格),切换到临时root,输入admin的密码;

3.9、输入 synouser --setpw root 123456 命令修改root的密码(synouser后面有一个空格,再加两个减号,setpw跟root后面都有空格,本文以密码123456为例,切勿模仿,请使用强密码),输入完成按回车键以后就可以关掉PuTTY,换WinSCP。

解决群晖File Station文件列表中文拼音排序问题

4、导出文件

4.1在电脑上打开WinSCP软件,输入群晖的IP地址,端口号,用户名(填写root)和密码

用上一步synouser --setpw root设置的密码,点登录。如果出现警告,点“是”即可;如果不出现则继续下一步;

解决群晖File Station文件列表中文拼音排序问题

4.2、登陆后,软件界面分为左右两侧列表。左侧为本机电脑的文件,右侧为群晖的文件。

右侧列表找到/usr/lib/libsynocore.so.7文件(也可以点击查找文件),按住并拖动到左侧本机电脑中。

解决群晖File Station文件列表中文拼音排序问题

5、修改文件(使用WinHex软件),此处是试错的过程,修改后没有生效。

不感兴趣的朋友可以直接跳过,看第6点。

5.1、一开始不知道用什么软件修改,系统推荐了WinHex,也能打开文件,但一些关键词查不到,只能大概修改一下,按照大佬的案例试一下。点击导航-转到偏移量,输入164D6,跳转后在附近能查到类似的十六进制值48 8D 3D E2 E9 00 00,但右侧的代码都是乱码。看不懂,直接改。按评论区对应的版本,把E2 E9 00 00 修改 CC BE 00 00

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

5.2、点击搜索-查找文本(快捷键Ctrl+F),查找字符串 string_join.c

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

5.3、把string_join.c中的.c改为zh,发现十六进制值2E 63被修改为7A 68,记住这个值,下面有用。

解决群晖File Station文件列表中文拼音排序问题

5.4、修改完之后保存,导入到群晖,替换原文件。重启群晖系统后发现,排序还是没变。应该是哪里出了问题。因为大佬只截取了软件界面的一小部分,我完全看不出是什么软件。于是又一番百度搜索后,猜测应该是反汇编软件IDA。

6、修改文件(使用IDA Pro软件)

下载软件后安装,我找的是绿色版,解压后即可用。请注意不要安装或解压到中文目录下面

6.1、打开ida64.exe。

解决群晖File Station文件列表中文拼音排序问题

6.2、打开或拖入文件进行反编译。直接按OK就行。

解决群晖File Station文件列表中文拼音排序问题

6.3、打开文件后,出现很多个窗口,主要是前2个,IDA View-AHex View-1。在IDA View-A界面,单击右键,选择切换到文本视图,终于看到大佬的视图了。

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

6.4、点击搜索-文本(快捷键Alt+T),搜索字符串aPStartAddress。点击搜索-下一个文本(快捷键Ctrl+T),直到找到这一段lea rdi, aPStartAddress+12h;""。记下”call _ucol_open”对应地址“193DD”。

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

6.5、单击字符串aPStartAddress,再切换到HexView-1窗口,可以看到十六进制值48 8D 3D BE B9 00 00,跟WinHex软件查到的不一样,估计这就是WinHex软件修改后无效的原因。

解决群晖File Station文件列表中文拼音排序问题

6.6、点击搜索-文本(快捷键Alt+T),搜索字符串string_join.c。点击搜索-下一个文本(快捷键Ctrl+T),直到找到这一段aStringJoinC db 'string_join.c',0。记下”string_join.c”对应地址“2529E”。

解决群晖File Station文件列表中文拼音排序问题

6.7、把字符串 string_join.c,替换成string_joinzh。

这里我找不到替换的方法,只能切换到Hex View-1窗口,单击右键,编辑(快捷键F2),用WinHex中得到的值,把十六进制值2E 63被修改为7A 68,可以看到右侧的代码中,.c变为zh了。再单击右键,应用更改(快捷键F2),此处就算修改成功了。

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

6.8、修改后,“string_joinzh”对应地址“2529E”,因为要把偏移量定位到zh,zh在字符串中排第12,转换为十六进制值是B,也就是把2529E+B=252A9。再把这个值,减去6.4得到的“call _ucol_open”对应地址“193DD″,252A9-193DD=BECC。BECC 对应四个字节就是 00 00 BE CC。但在程序里字节顺序是反过来的,所以是 CC BE 00 00

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

6.9、再次查找字符串aPStartAddress,切换到HexView-1窗口,把十六进制值48 8D 3D BE B9 00 00修改为48 8D 3D CC BE 00 00。(参考6.7)

解决群晖File Station文件列表中文拼音排序问题

6.10、点击编辑-修补程序-修补程序应用到输入文件。再关闭文件,选择Don't pack database,点击OK确定。

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

解决群晖File Station文件列表中文拼音排序问题

7、导入文件

打开WinSCP软件,把修改后的文件,拖动到右侧列表/usr/lib/文件夹中,覆盖原文件,然后重启群晖即可。

覆盖前记得做好文件备份。切记。

解决群晖File Station文件列表中文拼音排序问题


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2829元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4079元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

13746元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

Synology 群晖 DS423 四核心 4盘位 NAS网络存储 私有云 照片自动备份

3199元起

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2299元起

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

Synology 群晖 DS1621+ 六盘位NAS (V1500B、4GB)

6899元起

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起
28评论

  • 精彩
  • 最新
  • 到修补程序的时候就提示Patching cancelled...,不知道啥原因。

    校验提示文案

    提交
    [喜极而泣] 会不会是IDA版本的原因,换一个版本试下

    校验提示文案

    提交
    你用哪个版本的?

    校验提示文案

    提交
    还有11条回复
    收起所有回复
  • 建议给群活发个ticket,让官方改吧

    校验提示文案

    提交
    早都有人发过了,群晖就是不改呀!

    校验提示文案

    提交
    收起所有回复
  • 感谢分享,IDA下载困难呐

    校验提示文案

    提交
    脚本之家里面下载

    校验提示文案

    提交
    收起所有回复
  • BECC 对应四个字节就是 00 00 BE CC
    感谢楼主的大作!同时请教楼主,到这一步我就晕菜了,因为我的偏移量是AD64,对应的四个字节是啥?

    校验提示文案

    提交
    仔细看6.8,用十六位计算器进行计算哦

    校验提示文案

    提交
    多谢指教!本来昨晚问题已经解决了。但今天又出现一个新问题:在我的群晖没有做大的改动前提下,电视盒子的KODI重装了一下,结果排序又乱了,跟以前一样了。用IDA看了群晖里的文件,是昨晚修改后的,手机APP看群晖里的文件排序也正常。难道是KODI的问题?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有空试一下,最近转移文件,一大堆文件夹乱序,我真是要疯了。

    校验提示文案

    提交
    一直在用,没出现这问题呀。包括最近更新到7.2,这方法一样有效,更新后要从头再来一遍哦。

    校验提示文案

    提交
    收起所有回复
  • 谢谢,一直困惑于群晖排序问题,终于有办法了!明天试试,再次感谢

    校验提示文案

    提交
  • 感谢分享,明天试试。

    校验提示文案

    提交
  • 错就错吧 太麻烦了 [哭泣]

    校验提示文案

    提交
  • 太复杂了,爱咋昨的吧

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

FlyingFizh

专注于Excel数据处理!

关注 打赏
最新文章 热门文章
103
扫一下,分享更方便,购买更轻松