Pregunta

Cómo hace el comunidad de software libre/código abierto ¿Desarrollar controladores para productos que no ofrecen documentación?

¿Fue útil?

Solución

¿Cómo se aplica ingeniería inversa a algo?

  • Observa la entrada y la salida y desarrolla un conjunto de reglas o modelos que describen el funcionamiento del objeto.

Ejemplo:

Supongamos que desea desarrollar un controlador de cámara USB.La "caja negra" es el controlador del software.

  1. Desarrollar enlaces en el sistema operativo y/o controlador para que pueda ver las entradas y salidas del controlador.
  2. Generar entradas típicas y registrar las salidas.
  3. Analizar las salidas y sintetizar un modelo que describa la relación entre la entrada y la salida.
  4. Pruebe el modelo: colóquelo en lugar del controlador de caja negra y ejecute sus pruebas.
  5. Si hace todo lo necesario, ya está, si no, enjuaga y repite.

Tenga en cuenta que esto es solo un proceso científico/de resolución de problemas normal.Por ejemplo, los pronosticadores del tiempo hacen lo mismo: observan el clima, prueban las condiciones actuales con el modelo, que predice lo que sucederá en los próximos días, y luego comparan los resultados del modelo con la realidad.Cuando no coincide, regresan y ajustan el modelo.

Este método es un poco más seguro (legalmente) que la ingeniería inversa en sala limpia, en la que alguien descompila el código o desensambla el producto, lo analiza minuciosamente y crea un modelo basado en lo que vio.Entonces el modelo (Y NADA MÁS) se pasa a los desarrolladores que replican la funcionalidad del producto.Sin embargo, el ingeniero que desmontó el original no puede participar porque podría traer partes del código/diseño con derechos de autor y, sin darse cuenta, incluirlas en el nuevo código.

Sin embargo, si nunca desensamblas o descompilas el producto, estarás en aguas legalmente seguras: el único problema que queda es el de las patentes.

-Adán

Otros consejos

Esta es una pregunta bastante vaga, pero yo diría Ingeniería inversa.La forma en que lo hacen depende del tipo de dispositivo que sea y de lo que esté disponible para él.En muchos casos, el dispositivo puede tener un conjunto de chips central similar al de otro dispositivo que se puede modificar para que funcione.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top