Linux 旧的skype问题

Linux 旧的skype问题,linux,skype,Linux,Skype,我找不到这方面的任何信息,所以我想知道是否有人发现了任何旁路 问题是skype不再支持旧版本,我被迫使用web skype,或者linux版的新skype,这不符合我的期望 当我启动旧的skype登录屏幕时,我输入我的凭据,然后单击“登录”skype就退出了 我用的是薄荷17.02 谢谢。Skype运行在一个封闭的、中央控制的通信协议上。所述协议的控制器已公布,您尝试使用的客户端版本在特定日期后将不再运行 事情就是这样 可能协议本身已从旧skype客户端已知的协议迁移出去。然而,服务器只是通过一

我找不到这方面的任何信息,所以我想知道是否有人发现了任何旁路

问题是skype不再支持旧版本,我被迫使用web skype,或者linux版的新skype,这不符合我的期望

当我启动旧的skype登录屏幕时,我输入我的凭据,然后单击“登录”skype就退出了

我用的是薄荷17.02


谢谢。

Skype运行在一个封闭的、中央控制的通信协议上。所述协议的控制器已公布,您尝试使用的客户端版本在特定日期后将不再运行

事情就是这样

可能协议本身已从旧skype客户端已知的协议迁移出去。然而,服务器只是通过一些版本签名检查客户端的可能性很小,就像web浏览器发送用户代理字符串一样

在这两种情况下,您都必须对skype客户端进行二进制修补,以更改它与服务器的通信方式。如果协议没有太大变化,那么只需更改客户机标识字符串即可。但是,即使协议没有太大变化,更改客户机id可能已经改变了服务器与客户机通信的方式,使其成为镇纸

如果协议真的发生了变化,那么情况会更糟大约2个数量级:您必须对协议进行反向工程,创建一个工作实现,并修补旧客户端以使用它

所以,总结一下,如果还不明显的话:你不能这么做。可以使用web客户端,也可以更改消息传递平台。

旁路很简单

首先,确保您使用的程序版本正确

$ skype --version
Skype 4.3.0.37
© 2014 Skype and/or Microsoft
但当你尝试登录时,Skype会退出

幸运的是,微软以一种特别简单的方式实现了程序版本验证。现在,我假设您与
skype
可执行文件位于同一目录中,并且您有足够的权限编辑此文件(您也可以使用
sudo
命令)。您可以使用Perl更改程序的版本

$ perl -pi -e 's/4\.3\.0\.37/8.3.0.37/g' skype
此外,您可以验证更改是否成功

$ skype --version
Skype 8.3.0.37
© 2014 Skype and/or Microsoft
最后,你可以运行程序


我会在终端模拟器(如GNOME终端)中运行旧的skype,以便在启动时发生的任何错误都更加明显。dev@dev-pc~$skype错误:ld.so:/etc/ld.so.preload中的对象“libesets_pac.so”无法预加载(错误的ELF类:ELFCLASS64):忽略。这是我在启动skype时看到的唯一错误,当它退出时,什么也没有出现。如果您感兴趣,Microsoft已经记录了服务器SIP和媒体协议-这很好。可以同时连接多个聊天室的旧开源应用程序仍然存在。希望有人能实现这一点。哇!很有效,非常感谢DaBler!非常感谢你!真是和蔼可亲!我担心我已经永远失去了大量的聊天记录…你也可以用
sed
sed-I's/4\.3\.0\.37/8.3.0.37/g'skype
修补二进制文件。这对我今天不起作用。