Me ha surgido la oportunidad con Proyecto GNU Venezuela de realizar la ingeniería inversa de un dispositivo (el cual no describiré por motivos de confidencialidad) pero escribo estas notas para futuras referencias en proyectos similares.
Mi mayor error fue realizar toda la ingeniería inversa sin documentar siquiera un paso, por lo que me tocó prácticamente rehacer todo para acordarme de lo que había hecho, por eso decidí escribir un manual sobre como escribir la documentación de una ingeniería inversa.
Lo primero:
- Tomar fotografías del dispositivo (nunca sobran y siempre hacen falta)
- Tomar nota de lo que se va haciendo incluso si es un intento fallido (lo que no funciona también requiere trabajo y hay que demostrarlo)
- Describir hasta lo obvio (La documentación siempre es para el uso de otras personas, no tomes nada como obvio)
- Incluir enlaces de descripciones, esquemáticos, software, etc
- Discutir los borradores en equipo (no vaya a ser que seas el único ser viviente que lo entienda)
Material útil para inspiración:
- El sempiterno devtty0 incluye información vital para guiarse en el proceso.