¿Existe algún desensamblador (no sólo un depurador en vivo) que supere a IDA en capacidades? IDA es maravilloso, y algo sorprendente en lo robusto y útil que es para revertir. Sin embargo, es bastante caro para obtener una licencia adecuada. ¿Hay alguna alternativa viable, o IDA tiene el monopolio en este mercado?
No espero que una alternativa sea tan buena como IDA, sólo busco otras opciones que puedan ser más asequibles, y lo suficientemente útiles.
EDIT: Preferiblemente, debería existir soporte multiplataforma, aunque eso'es opcional. MIPS, ARM, x86, y x86-64 estaría bien, pero un desensamblador que maneje cualquiera de ellas es una buena opción a conocer.
Si buscas un contendiente, creo que ImmunityDebugger y OllyDbg pueden competir en parte por [tag:dynamic-analysis] y Hopper en parte por [tag:static-analysis].
Dicho esto, hay una gran diferencia entre las capacidades que se obtienen con el software mencionado y con IDA.
IDA Pro es bastante único con sus capacidades y si añades el Plugin Descompilador Hex-Rays en la ecuación, las cosas se ven sombrías para los aspirantes a contendientes. Sin embargo, para el desensamblaje casual e incluso algo de descompilación, Hopper parece una buena opción para cualquiera que no esté dispuesto a desembolsar cientos de dólares por IDA Pro. Si quieres un viaje gratis, radare2 es probablemente el siguiente en la línea, pero requiere acostumbrarse.
Habiendo obtenido mi primera licencia de IDA Pro Standard como estudiante, tengo que admitir que el precio es elevado, pero vale cada centavo. Cuando empecé a trabajar profesionalmente con cosas relacionadas con RCE me actualicé a la licencia "normal" primero y luego me actualicé a IDA Pro Advanced para obtener el soporte x64.
También ten en cuenta que hay una versión gratuita de IDA con restricciones de licencia (pero adecuada para aficionados o estudiantes) y restricciones de las capacidades.
Recientemente he estado utilizando Hopper, y aunque no está al nivel de IDA, es realmente sofisticado, sobre todo teniendo en cuenta lo que cuesta. Su plataforma principal es OS X, pero hay versiones disponibles para Linux y Windows también. La versión para OS X también tiene cierta integración con gdb, por lo que se puede utilizar como depurador.
La primera herramienta que se me ocurre es Hopper, que ya no está vinculada a OSX. Tiene algo de soporte de depuración (al menos en OSX), pero se centra en el análisis estático, que parece ser lo que estás buscando.
Tiene la capacidad de dividir los bloques básicos en un gráfico de flujo de control, soporte de descompilación rudimentaria, y puedes renombrar las funciones a medida que les das sentido. Quizás alguien que lo use en lugar de IDA pueda compararlo mejor, yo sólo he jugado brevemente.
Además, la versión gratuita de IDA es bastante capaz y vale la pena echarle un vistazo si no lo has probado.