Como foi criado o ntfs-3g?

2

Como o NTFS é um sistema de arquivos proprietário criado pela Microsoft, como os desenvolvedores do ntfs-3g conseguiram criar uma versão de software livre dos drivers NTFS sem se referir ao código-fonte NTFS? Ou há algum tipo de acordo com a Microsoft em relação a isso?

    
por Nighpher 26.02.2014 / 10:09

2 respostas

6

ntfs-3g é o seguinte do primeiro driver NTFS criado em 1995 por Martin von Löwis.
O driver tem sido principalmente engenharia reversa, o que significa observar e analisar a estrutura de dados e encontrar uma maneira de manuseá-la corretamente.
De acordo com o site do projeto original

The method was roughly:
1 Look at the volume with a hex editor
2 Perform some operation, e.g. create a file
3 Use the hex editor to look for changes
4 Classify and document the changes
5 Repeat steps 1-4 forever

Após um longo desenvolvimento e um trabalho trabalhoso, um fork foi criado a partir do NTFS-Linux de acordo com o primeira nota de lançamento de ntfs-3g em 2006:

Hello,
As part of the Linux-NTFS project, I'm happy to announce my contribution to ntfsmount and libntfs which resulted ntfs-3g, a read-write ntfs driver, capable for unlimited file creation and deletion.

Espero que essa resposta parcial ajude você a ver como isso nasceu e como continua a sair.
É importante notar que hoje esse driver é mantido pelo Tuxera e não é mais um produto amador.

    
por 26.02.2014 / 11:00
1

Isso mesmo. Engenharia reversa .

A engenharia reversa é basicamente olhar para os padrões de um determinado comportamento e resultados esperados e documentá-los de uma maneira que você possa reproduzi-los sem sequer olhar para o código.

Por exemplo, para a camada de rede de compatibilidade do Windows para CIFS / SMB (NetBIOS para versões anteriores, AKA como compartilhamentos de janelas ) os desenvolvedores do projeto do Samba usaram um sniffer de rede e um analisador de pacotes de tal maneira que eles documentaram o que esses pacotes de rede continham para certas operações (como enviar uma requisição para a porta listar compartilhamentos) e então simular a mesma operação, mas com sua própria implementação de código, contanto que o envio de dados de pacote de rede seja compatível com o que o servidor do Windows estava esperando.

Portanto, o NTFS-3g era a mesma coisa, mas observava o comportamento do disco rígido e os resultados, em vez da rede.

    
por 26.02.2014 / 23:27