强拼音
作者:FlyingFizh
方法来自:https://blog.icedream.xyz/2020/01/01/破解群晖file-station中文未按拼音排序问题/
本文只分享处理的过程,其中用到的工具请自行查找下载。操作过程中有不对的地方,请指正。
以下截图均为本人操作过程截取,涉及的操作语句来源于网络。
前言
用群晖好几年了,一直是用来存放电影跟资料,也没怎么去折腾。但是用File Station或者手机上用DS File查看文件时,文件名的中文排序问题一直让我很迷惑,搞不懂是按什么标准排序的。据网友咨询客服答复说:
非常抱歉,目前我们中文是按照ASCII进行排序的。
一开始文件不多,影响还不是很大,随着文件的增多,查询文件变得很麻烦。最近偶然看到有大佬通过反编译群晖的某个文件,实现了中文文件名按拼音排序的问题,但其中只写了关键部分,对此我这种汇编小白根本就看不懂,折腾了一天,总算研究明白了其中的大概原理,就想着写出来跟大家分享一下,包括其中用到的工具,如何操作、计算等等,每一步都写清楚,让有兴趣的朋友们都可以尝试一下。写的有点啰嗦,请轻喷。
过程中用到的软件有:PuTTY、WinSCP、IDA Pro、WinHex(这个非必要)
我的群晖系统版本是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即可,应用。
2、SSH 远程连接
在 Windows 系统中,可以通过第三方工具比如 PuTTY来进行连接。
Windows 10 提供 ssh 命令,可以进行 ssh 连接。
我用的是PuTTY工具。
运行 putty.exe,在程序界面内输入服务器 IP 地址和端口(22 是 SSH 默认端口),选中 SSH 连接类型,可设置连接会话名称及点击保存,然后点击 Open 按钮开始连接登录。
首次连接会提示安全警告,如果出现安全警告,点“是”或者“否”都行;如果没有出现安全警告,则继续下一步。
之后输入用户名和密码即可登录服务器(输入密码时不会显示输入状态,这是一个安全设计。鼠标单击右键可以粘贴输入。可以先在别的地方复制,再到这里单击右键实现粘贴功能)。
这里的用户名需要输入管理员的用户名,默认输入群晖的管理员admin。建议用户修改完成后新建一个管理员用户后禁用admin账户,以免群晖暴漏在网络中被人破解,此处仅供演示。
3、设置root用户密码
输入正确的用户名跟密码之后,就跟群晖连接上了。现在就可以通过语句查询或者导出要修改的文件了,但是没有root权限的话,只能导出,修改后没法导入,所以要先设置root密码。而且PuTTY的界面跟DOS一样,没有图形界面,操作不方便,所以我们设置完root密码之后,再用另一个软件WinSCP来导出导入文件。具体步骤如下:
3.1、输入 sudo –i 按回车(sudo后面有一个空格),切换到临时root,输入admin的密码;
3.2、输入(这段语句没法保存,请看图), 按回车(vim后面有一个空格),打开配置文件。
因为我异常退出过,存在swap交换文件,直接按字母E,(E)ditanyway;
3.3、按一下电脑键盘上的i键或者Insert键,屏幕左下角出现“——Insert——”字样,进入可编辑状态;
3.4、按键盘的上下键翻动,找到#PermitRootLogin prohibit password这一行,改为PermitRootLogin yes(前面的#号记得要去掉);
3.5、按一次键盘的ESC键,然后输入 :wq 按回车(冒号加上字母WQ,直接输入即可,会自动跳到最末尾),退出编辑状态;
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。
4、导出文件
4.1在电脑上打开WinSCP软件,输入群晖的IP地址,端口号,用户名(填写root)和密码
用上一步synouser --setpw root设置的密码,点登录。如果出现警告,点“是”即可;如果不出现则继续下一步;
4.2、登陆后,软件界面分为左右两侧列表。左侧为本机电脑的文件,右侧为群晖的文件。
右侧列表找到/usr/lib/libsynocore.so.7文件(也可以点击查找文件),按住并拖动到左侧本机电脑中。
5、修改文件(使用WinHex软件),此处是试错的过程,修改后没有生效。
不感兴趣的朋友可以直接跳过,看第6点。
5.1、一开始不知道用什么软件修改,系统推荐了WinHex,也能打开文件,但一些关键词查不到,只能大概修改一下,按照大佬的案例试一下。点击导航-转到偏移量,输入164D6,跳转后在附近能查到类似的十六进制值48 8D 3D E2 E9 00 00,但右侧的代码都是乱码。看不懂,直接改。按评论区对应的版本,把E2 E9 00 00 修改 CC BE 00 00
5.2、点击搜索-查找文本(快捷键Ctrl+F),查找字符串 string_join.c
5.3、把string_join.c中的.c改为zh,发现十六进制值2E 63被修改为7A 68,记住这个值,下面有用。
5.4、修改完之后保存,导入到群晖,替换原文件。重启群晖系统后发现,排序还是没变。应该是哪里出了问题。因为大佬只截取了软件界面的一小部分,我完全看不出是什么软件。于是又一番百度搜索后,猜测应该是反汇编软件IDA。
6、修改文件(使用IDA Pro软件)
下载软件后安装,我找的是绿色版,解压后即可用。请注意不要安装或解压到中文目录下面。
6.1、打开ida64.exe。
6.2、打开或拖入文件进行反编译。直接按OK就行。
6.3、打开文件后,出现很多个窗口,主要是前2个,IDA View-A,Hex View-1。在IDA View-A界面,单击右键,选择切换到文本视图,终于看到大佬的视图了。
6.4、点击搜索-文本(快捷键Alt+T),搜索字符串aPStartAddress。点击搜索-下一个文本(快捷键Ctrl+T),直到找到这一段lea rdi, aPStartAddress+12h;""。记下”call _ucol_open”对应地址“193DD”。
6.5、单击字符串aPStartAddress,再切换到HexView-1窗口,可以看到十六进制值48 8D 3D BE B9 00 00,跟WinHex软件查到的不一样,估计这就是WinHex软件修改后无效的原因。
6.6、点击搜索-文本(快捷键Alt+T),搜索字符串string_join.c。点击搜索-下一个文本(快捷键Ctrl+T),直到找到这一段aStringJoinC db 'string_join.c',0。记下”string_join.c”对应地址“2529E”。
6.7、把字符串 string_join.c,替换成string_joinzh。
这里我找不到替换的方法,只能切换到Hex View-1窗口,单击右键,编辑(快捷键F2),用WinHex中得到的值,把十六进制值2E 63被修改为7A 68,可以看到右侧的代码中,.c变为zh了。再单击右键,应用更改(快捷键F2),此处就算修改成功了。
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。
6.9、再次查找字符串aPStartAddress,切换到HexView-1窗口,把十六进制值48 8D 3D BE B9 00 00修改为48 8D 3D CC BE 00 00。(参考6.7)
6.10、点击编辑-修补程序-修补程序应用到输入文件。再关闭文件,选择Don't pack database,点击OK确定。
7、导入文件
打开WinSCP软件,把修改后的文件,拖动到右侧列表/usr/lib/文件夹中,覆盖原文件,然后重启群晖即可。
","gnid":"930da4d91a727d82e","img_data":[{"flag":2,"img":[{"desc":"","height":"323","title":"","url":"https://p0.ssl.img.360kuai.com/t01c795b040f29bf394.jpg","width":"600"},{"desc":"","height":"340","title":"","url":"https://p0.ssl.img.360kuai.com/t019a431ab35272c820.jpg","width":"600"},{"desc":"","height":"438","title":"","url":"https://p0.ssl.img.360kuai.com/t0172a1bd84a1f1ec54.jpg","width":"446"},{"desc":"","height":"378","title":"","url":"https://p0.ssl.img.360kuai.com/t017593a631236d50a7.jpg","width":"600"},{"desc":"","height":"379","title":"","url":"https://p0.ssl.img.360kuai.com/t01e3f15259359ae8c8.jpg","width":"600"},{"desc":"","height":"156","title":"","url":"https://p0.ssl.img.360kuai.com/t01951678fb96d02777.jpg","width":"413"},{"desc":"","height":"380","title":"","url":"https://p0.ssl.img.360kuai.com/t0195da0dc08ca15610.jpg","width":"600"},{"desc":"","height":"380","title":"","url":"https://p0.ssl.img.360kuai.com/t016cc2ca35cfe1b7d8.jpg","width":"600"},{"desc":"","height":"379","title":"","url":"https://p0.ssl.img.360kuai.com/t01d6bc3ab7c80e1363.jpg","width":"600"},{"desc":"","height":"377","title":"","url":"https://p0.ssl.img.360kuai.com/t01f28a4bed22eaae1d.jpg","width":"600"},{"desc":"","height":"378","title":"","url":"https://p0.ssl.img.360kuai.com/t01de313218623d88ad.jpg","width":"600"},{"desc":"","height":"293","title":"","url":"https://p0.ssl.img.360kuai.com/t01c037da0be0c15a5c.jpg","width":"600"},{"desc":"","height":"289","title":"","url":"https://p0.ssl.img.360kuai.com/t01e938c4cb3cb0aa66.jpg","width":"600"},{"desc":"","height":"318","title":"","url":"https://p0.ssl.img.360kuai.com/t01db4dfaf7c300e50b.jpg","width":"600"},{"desc":"","height":"377","title":"","url":"https://p0.ssl.img.360kuai.com/t01f6393d687ec4c335.jpg","width":"600"},{"desc":"","height":"367","title":"","url":"https://p0.ssl.img.360kuai.com/t014e809147b6a34aea.jpg","width":"600"},{"desc":"","height":"486","title":"","url":"https://p0.ssl.img.360kuai.com/t01652e94103592edd7.jpg","width":"600"},{"desc":"","height":"465","title":"","url":"https://p0.ssl.img.360kuai.com/t011e63632bcbc2e220.jpg","width":"600"},{"desc":"","height":"325","title":"","url":"https://p0.ssl.img.360kuai.com/t0146b276599b5dcd38.jpg","width":"600"},{"desc":"","height":"407","title":"","url":"https://p0.ssl.img.360kuai.com/t0141c4f22cefe15e25.jpg","width":"600"},{"desc":"","height":"280","title":"","url":"https://p0.ssl.img.360kuai.com/t017934589ecc9311c2.jpg","width":"600"},{"desc":"","height":"275","title":"","url":"https://p0.ssl.img.360kuai.com/t01a0f3fe54f80caef6.jpg","width":"600"},{"desc":"","height":"303","title":"","url":"https://p0.ssl.img.360kuai.com/t01fa4ed48dbb0610c0.jpg","width":"600"},{"desc":"","height":"226","title":"","url":"https://p0.ssl.img.360kuai.com/t01276e021fae1121b8.jpg","width":"385"},{"desc":"","height":"314","title":"","url":"https://p0.ssl.img.360kuai.com/t01544e252bf4890bce.jpg","width":"600"},{"desc":"","height":"388","title":"","url":"https://p0.ssl.img.360kuai.com/t015f2247766682e54e.jpg","width":"600"},{"desc":"","height":"299","title":"","url":"https://p0.ssl.img.360kuai.com/t018956ce2b47cbea85.jpg","width":"600"},{"desc":"","height":"326","title":"","url":"https://p0.ssl.img.360kuai.com/t01f143ab0e8fdf3544.jpg","width":"600"},{"desc":"","height":"328","title":"","url":"https://p0.ssl.img.360kuai.com/t01d2e5abefb2c31412.jpg","width":"600"},{"desc":"","height":"450","title":"","url":"https://p0.ssl.img.360kuai.com/t011ea5eee342288eff.jpg","width":"600"},{"desc":"","height":"451","title":"","url":"https://p0.ssl.img.360kuai.com/t01c8e950ed693b01ca.jpg","width":"600"},{"desc":"","height":"362","title":"","url":"https://p0.ssl.img.360kuai.com/t01cf77b09086c9b4a3.jpg","width":"600"},{"desc":"","height":"377","title":"","url":"https://p0.ssl.img.360kuai.com/t0129bfda62b5ac87ac.jpg","width":"600"},{"desc":"","height":"321","title":"","url":"https://p0.ssl.img.360kuai.com/t010c9f9f0b755539bd.jpg","width":"600"},{"desc":"","height":"328","title":"","url":"https://p0.ssl.img.360kuai.com/t019d364a8b16daf06a.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1681815454000,"pure":"","rawurl":"http://zm.news.so.com/e6d85f10774ef9cd82eeeaefb2aa44f7","redirect":0,"rptid":"fd848de51e9a9d89","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"解决群晖File Station文件列表中文拼音排序问题
宋路姿2034强的读音. -
郎秋紫15244645025 ______ 强,拼音:qiáng、qiǎng、jiàng ,注音:ㄑㄧㄤˊ、ㄑㄧㄤˇ、ㄐㄧㄤˋ,作形容词,指的是健壮,有力,与“弱”相对.此外,还有中医上的强,有健壮,有力,与弱相对;强盛,亢盛灯意思.
宋路姿2034强的拼音谢谢 -
郎秋紫15244645025 ______ 强的解释 [qiáng ] 1.健壮,有力,与“弱”相对:~壮.~健.~人.~力.~大.~劲.刚~.富~.列~.~弩之末.年富力~. [qiǎng ] 硬要,迫使,尽力:~使.~迫.~逼.~辩.勉~.~人所难.~词夺理. [jiàng ] 固执,强硬不屈:~嘴.倔~.
宋路姿2034强是多音字吗? -
郎秋紫15244645025 ______ “强”是多音字:1、读作qiáng,组词:强大,坚强.2、读作qiǎng,组词:勉强.3、读作jiàng,组词:倔强.强:[ qiáng ]1.健壮,有力,与“弱”相对:~壮.~健.~人.~力.~大.~劲.刚~.富~.~.~弩之末.年富力~.2.程度高:~手.~烈.~酸.能力~.3.胜过,优越,好:~干.争~好(hào)胜.4.有余,略多于某数:~半(超过一半).5.使用强力,硬性地:~占.~加.~攻.~悍.~横(hèng).~梁(强横霸道).6.着重,增加分量:~化.增~.[ qiǎng ]硬要,迫使,尽力:~使.~迫.~逼.~辩.勉~.~人所难.~词夺理.[ jiàng ]固执,强硬不屈:~嘴.倔~.
宋路姿2034强都有哪些读音 -
郎秋紫15244645025 ______ 强拼音:[qiáng,qiǎng,jiàng]
宋路姿2034“强”的读音有哪些 -
郎秋紫15244645025 ______ 【qiang'】二声 强壮 【jiang】 四声 倔强 【qiang】 三声 勉强
宋路姿2034“强”的繁体字怎么写? -
郎秋紫15244645025 ______ 强 ① qiáng 强渡、强取、强制 ② qiǎng 勉强、强迫、强词 ② jiàng 倔强
宋路姿2034强 的读音 -
郎秋紫15244645025 ______ 强占胶州湾:qiáng zhàn 强买强卖:qiǎng mǎi qiǎng mài 强人所难:qiǎng rén suǒ nán
宋路姿2034强的拼音是什么?
郎秋紫15244645025 ______ qiang,juan