He compilado cpython con encabezados de depuración y quiero realizar el siguiente análisis con radare2.
El problema que encuentro es que lleva una eternidad (al menos 27 horas) realizar la parte aaa
(análisis).
He compilado cpython con encabezados de depuración y quiero realizar el siguiente análisis con radare2.
El problema que encuentro es que lleva una eternidad (al menos 27 horas) realizar la parte aaa
(análisis).
No es una buena práctica ejecutar un análisis completo de su binario al inicio y tampoco es recomendado por radare. Ejecutar aaa
de forma predeterminada es una acción pesada y no se recomienda ni se necesita en absoluto en la mayoría de los casos.
Como se indica en esta excelente publicación del blog de radare :
El análisis de código no es una operación rápida, ni siquiera predecible o que requiere un tiempo lineal para ser procesado. Esto hace que los tiempos de inicio sean bastante pesados, en comparación con solo cargar la información de encabezados y cadenas como se hace de manera predeterminada.
...
Obligamos a los usuarios a pensar en sus flujos de trabajo para comprender mejor el problema al que se enfrentan y resuélvelo de manera óptima, ahorrando cpu, memoria y por qué no: gatos.
Para que el proceso de análisis sea más eficiente puedes comenzar configurando diferentes variables de configuración de análisis en radare. Estas variables de configuración pueden ayudarlo a adaptar el proceso de análisis a su programa y a sus necesidades. Algunas de las variables interesantes son:
anal.afterjmp anal.depth anal.eobjmp anal.esil anal.hasnext anal.nopskip anal.fromanal.to
Consulte el comando e ?? anal.
para obtener descripciones más detalladas de ellos.
El análisis de un programa no es solo realizar una acción y Eso es todo, se combina de diferentes análisis para diferentes necesidades.
radare implementa muchos comandos diferentes que realizan diferentes tipos de análisis. El uso inteligente de estos comandos puede ayudarlo a acelerar el proceso del análisis y analizar solo las partes que cree que son las más importantes:
aap
) aac
) / V
) aa \ r
) / r
) aae
) aas
) aat
) En resumen, debe pensar y planificar el proceso de análisis que mejor se adapte a sus necesidades:
radare2 no es un programa de hacer clic y ejecutar, es un conjunto de herramientas y comandos ortogonales que te permiten comprender, analizar, manipular y jugar con una gran lista de tipos binarios ... Solo la experiencia y la comprensión te darán control sobre lo que estás haciendo.
Si después de leer esta respuesta y la publicación en el blog de radare crees que es un error y puedes señalar el problema, no dudes en abrir un número en github.