O primeiro cliente caseiro a se conectar à rede Skype



O Skype é um dos mensageiros mais inseguros por motivos objetivos. Um deles é um arquivo binário ofuscado para dificultar a engenharia reversa. A Microsoft se recusa a fornecer o código-fonte para auditoria e verificação por especialistas em segurança; a última inspeção foi realizada em 2005 .

Apesar de todos os riscos, muitas pessoas são forçadas a usar o cliente Skype.

O protocolo fechado e o cliente oficial forçaram os ativistas a violar a lei da DMCA e desofuscaram à força o código binário do cliente.

Como parte do projeto Skype Open Source, uma engenharia reversa do protocolo Skype 3.8 foi realizada em junho de 2011.

Em março de 2012, o cliente binário desofuscado do Skype 5.5 original foi lançado com a proteção de depuração removida.

O Skype 5.5 era um tipo de interface gráfica híbrida escrita em Delphi e DLLs incorporadas com um "núcleo". O núcleo do programa é uma estrutura completamente independente no nível do código binário: blocos de código, blocos de dados, importação. A julgar pela presença de rastreamentos de bibliotecas de VC, o compilador Visual C ++ foi usado para compilar o programa.

Agora, descobrir que o cliente e os códigos-fonte não são fáceis, porque, de acordo com os requisitos do DMCA, os hosts excluíram o blog original, bem como quase todas as cópias do cliente skype55.zipque foram distribuídas na Web.

Anos se passaram, a Microsoft transferiu a rede de supernós ponto a ponto do Skype para sua própria rede na nuvem, a Skype Network, para a qual mudou nas versões mais recentes do cliente e mudou um pouco o protocolo: as alterações eram principalmente sobre a adição de troca de chaves DH-384 antes de iniciar a criptografia RC4. Os ativistas tiveram que começar a trabalhar de novo - e fazer engenharia reversa do novo protocolo .

Os desenvolvedores atingiram novamente seu objetivo. 1 de setembro de 2016 as boas notícias publicadas no novo blog Skype Open Source 2no lançamento do primeiro cliente gratuito caseiro do mundo, compatível com a rede Skype. O código-fonte do cliente ainda não foi removido do Github . O cliente está limitado a enviar apenas mensagens de texto.

O cliente Epycs Messenger é escrito em C puro, equipado com uma interface gráfica simples no .NET 4.0. Por conseguinte, a instalação requer um ambiente .NET 4.0. O projeto é carregado e compilado no Visual Studio 2010. O programa funciona apenas no Windows. O autor diz que, para portar no Linux, você precisa brincar um pouco com soquetes.

Links para download de binários:
http://epycs.ru/files/EpycsMessenger2_20160901.zip
https://yadi.sk/d/xvKhmImdugThn
http://dfiles.ru/files/ob1kzcc1x

Código fonte do LGPL 3.0:
http://epycs.ru/files/EpycsMessenger2_20160901_src.zip
https://yadi.sk/d/V_IWJT-fugvND
http://dfiles.ru/files/ryh285mue




Falha ao concluir a importação de contatos na máquina de teste

O autor do programa é Efim Bushmanov . Ele também escreveu versões anteriores do cliente Skype ofuscado e foi o autor do primeiro blog de código aberto do Skype.

Apesar da suposta violação do DMCA, é oferecida uma licença comercial para o Epycs Messenger. As doações para o desenvolvimento do projeto também continuam.

Teoricamente, após a engenharia reversa do protocolo Skype, qualquer mensageiro instantâneo pode se conectar livremente à rede da Microsoft e trocar mensagens diretamente com os usuários do Skype, incluindo os mensageiros instantâneos Telegram ou Viber.

Depois de publicar o código fonte no Github, alguns desenvolvedores notaram uma estrutura de código ruim, linhas mágicas onipresentes , vazamentos de memória e estouros de buffer onipresentes . No entanto, isso não prejudica os méritos de um desenvolvedor que fez um ótimo trabalho. O autor pede para testar o programa e expressar suas sugestões e desejos.

UPD 05.09 . Yefim Bushmanov escreve que o carregamento de contatos parou de funcionar. Parece que o Skype desativou o servidor com listas de contatos. Os contatos podem ser adicionados manualmente se você adicionar o arquivo contacts.txt ao diretório raiz e manualmente os contatos do Skype neste formato:

u / skypeuser1
u / skypeuser2
u / skypeuser3
u / skypeuser4
u / skypeuser5

O resto parece estar funcionando, diz o autor.

Source: https://habr.com/ru/post/pt397351/


All Articles