Pergunta

Como é que comunidade de software livre/de código aberto desenvolver drivers para produtos que não oferecem documentação?

Foi útil?

Solução

Como você faz engenharia reversa de algo?

  • Você observa a entrada e a saída e desenvolve um conjunto de regras ou modelos que descrevem a operação do objeto.

Exemplo:

Digamos que você queira desenvolver um driver de câmera USB.A "caixa preta" é o driver do software.

  1. Desenvolva ganchos no sistema operacional e/ou driver para que você possa ver as entradas e saídas do driver
  2. Gere entradas típicas e registre as saídas
  3. Analise as saídas e sintetize um modelo que descreva a relação entre a entrada e a saída
  4. Teste o modelo - coloque-o no lugar do driver da caixa preta e execute seus testes
  5. Se fizer tudo que você precisa, pronto, se não, enxágue e repita

Observe que este é apenas um processo científico/de resolução de problemas regular.Por exemplo, os meteorologistas fazem a mesma coisa: observam o tempo, testam as condições atuais em relação ao modelo, que prevê o que acontecerá nos próximos dias, e depois comparam os resultados do modelo com a realidade.Quando não corresponde, eles voltam e ajustam o modelo.

Este método é um pouco mais seguro (legalmente) do que a engenharia reversa de sala limpa, onde alguém descompila o código ou desmonta o produto, analisa-o minuciosamente e cria um modelo com base no que viu.Então o modelo (E NADA MAIS) é passado aos desenvolvedores que replicam a funcionalidade do produto.O engenheiro que desmontou o original, entretanto, não pode participar porque pode trazer partes do código/design protegidas por direitos autorais e inadvertidamente colocá-las no novo código.

Porém, se você nunca desmontar ou descompilar o produto, deverá estar em águas legalmente seguras - o único problema que resta são as patentes.

-Adão

Outras dicas

Esta é uma pergunta bastante vaga, mas eu diria Engenharia reversa.A maneira como eles fazem isso depende do tipo de dispositivo e do que está disponível para ele.Em muitos casos, o dispositivo pode ter um chipset central semelhante a outro dispositivo que pode ser modificado para funcionar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top