Pregunta:
Quiero aprender a realizar ingeniería inversa en hardware / firmware, así como en software (eventualmente, ahora quiero centrarme en el hardware / firmware). Tengo algo de experiencia programando microcontroladores STM32, así como una comprensión decente de C. Entiendo verilog y he hecho algunas cosas simples en FPGA y también he hecho diseño de placa PCB antes.
Empecé a leer "Ingeniería inversa para principiantes", pero parece que hay muchos ejemplos sin proyectos prácticos con los que trabajar. Aprendo mucho más al hacerlo, si hubiera un libro que te enseñara ingeniería inversa, ensamblaje / desensamblaje y otros temas con un proyecto en mente, lo preferiría mucho. Me gustaría aprender ARM y x86, pero más un enfoque en ARM.
En cuanto a herramientas tengo un Bus Pirate, Logic Analyzer y equipo básico de soldadura. ¿Alguna recomendación sobre las herramientas que debería obtener y los proyectos que puedo hacer?
Respuesta:
Tiene razón, la mayoría de los libros de RE son más genéricos y constan de docenas de ejemplos diferentes y no están orientados a proyectos. Además, se centran principalmente en la ingeniería inversa de software.
De estos, y como referencia, cabe mencionar:
- Ingeniería inversa para principiantes
- Ingeniería inversa práctica
- Inversión: secretos de la ingeniería inversa
- El libro profesional de IDA
En el campo de la ingeniería inversa de hardware, sin embargo, es mucho más difícil encontrar un libro adecuado, por no decir uno que esté orientado a proyectos. Pero hay un libro que supera al otro y parece adaptarse mejor a sus necesidades: Hacking the Xbox: An Introduction to Reverse Engineering por Andrew Huang. El libro está disponible de forma gratuita desde marzo de 2013.
Para citar la descripción del libro:
Esta guía práctica para la piratería comienza con tutoriales paso a paso sobre modificaciones de hardware que enseñan técnicas básicas de piratería, así como habilidades esenciales de ingeniería inversa. El libro avanza hacia una discusión de los mecanismos de seguridad de Xbox y otros temas avanzados de piratería, con un énfasis en educar a los lectores sobre los temas importantes de la seguridad informática y la ingeniería inversa. Hackear la Xbox incluye numerosas guías prácticas, como dónde conseguir el equipo de piratería, técnicas de soldadura, consejos de depuración y una guía de referencia de hardware de Xbox.
Puede visitar el sitio web oficial del libro para obtener más información.
A continuación se enumeran otros libros que pueden resultarle útiles:
- Hacking de consolas de juegos: Xbox, PlayStation, Nintendo, Game Boy … , por Joe Grand et al.
- El hacker de hardware: aventuras en la fabricación y el desguace de hardware , por Andrew Huang
- Piratería de hardware: diviértase mientras anula su garantía , por Joe Grand
- Proyectos de piratería de hardware para geeks , por Scott Fullam
Es importante para mí señalar que, aunque el hecho de que la mayoría de estos libros esté disponible en línea de forma pirata, le animo a que compre los libros que le interesan y apoye a sus autores.
En una nota general, le sugiero que comience la ingeniería inversa desde enrutadores y consolas de juegos antiguas. Se pueden encontrar buenas referencias en / dev / ttys0 . Elige un producto que sea barato y podrás comprar muchas piezas para no tener miedo de destruirlo con tus pruebas. El Super Nintendo Entertainment System (SNES) es un ejemplo de una consola que está documentada en detalle por otros ingenieros inversos, verifique esto, por ejemplo. En cuanto a las herramientas, la mayoría de los recursos anteriores contienen recomendaciones de herramientas que lo ayudarían en cada proyecto.