解决Xshell 5和Xftp 5强制升级的办法

发布于 2018-12-31  236 次阅读


2018年圣诞节一过,Xshell 5和Xftp 5都不能用了。打开这两个软件时会提示“要继续使用此程序,您必须应用最新的更新或使用新版本”,无法启动,意思就是叫你用Xshell 6/Xftp 6去。

最近我一直没有用这两个玩意儿,所以直到今天才发现有这么一回事……

虽然版本6也有免费版,不过依旧有好多人喜欢用版本5。主要原因是版本6的免费版有窗口限制,体验不咋样。

安度因国王说得好,“能造出来的东西,就一定能被破坏”,既然NetShrang有办法搞强制升级,那么用户肯定也有办法继续用。网上找了找,找到了三种解决方法。分别试了一下,都能够解决升级问题。

1.修改系统时间

第一种方法最为简单粗暴:改时间。

把系统时间改成2018年12月25号之前的时间后再启动Xshell 5/Xftp 5,就不会提示升级了。

然而不正确的系统时间看着多难受,要想看着舒服又要一回回地改时间。所以推荐看看下面两种办法。

2.使用启动脚本

有大神在GitHub上分享了适用于Xshell 5和Xftp 5的启动脚本,使用该脚本启动就不会弹出升级提示并且无法启动了。

项目地址:https://github.com/DeepSkyFire/XShell5-Startup-Script

以下是脚本的使用说明(大致是readme里面的原文,把它转换成了简体):

将脚本(根据需要选择 XShell.bat/Xftp.bat 脚本)放置在XShell 5/Xftp 5的程序安装根目录下(与Xshell.exe或Xftp.exe同目录下),右键使用管理员身份执行脚本。启动失败请自行查看xshell.exe/xftp.exe的详细内容内的数字签名的时间戳记,并将脚本内的“25-12-2018”按系统默认的时间格式改为数字签名内的时间戳记录的时间。

由于脚本中的时间格式是按照繁中系统的时间格式来写的,因此在使用该脚本前,需要用编辑器(记事本就行)编辑脚本中的时间,将“25-12-2018”替换成“2018-12-25”

3.修改文件

又有一位大神发现,软件突然要求更新是因为软件里面有时间判断机制。因此通过修改文件也能防止强制更新。

建议在操作之前先把nslicense.dll备份一下。操作步骤如下。

1.用Notepad++的HEX-Editor插件或者C32asm反汇编工具之类的软件打开Xshell 5或者Xftp 5程序安装根目录下的nslicense.dll

2.查找里面的16进制字段7F0C81F98033E1010F8680

3.把这个字段替换成7F0C81F98033E101E98100或者7F0C81F98033E1010F8380

保存完毕之后启动软件,不会弹出更新提示,能够正常运行。

折腾完之后,我电脑里面的Xshell 5和Xftp 5终于不会出现万恶的更新提示了。目前电脑里面的Xshell装了5和6两个版本,连接服务器的话主要用6。不过Xftp只有版本5,因为版本6的免费版只允许开两个窗口,特别坑。如果NetShrang不放宽一点免费版窗口限制的话估计还要再用版本5一段时间……(哼,我就是不用你的最新版本ヽ(*。>Д<)o゜)Xshell已卸,改用MobaXterm。